문제 https://programmers.co.kr/learn/courses/30/lessons/17686?language=java 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr 풀이 이 문제를 자바를 이용해 풀기 위해서는 comparable 인터페이스에 대해 알면 좋다. 나는 File 이라는 class를 만들어 comparable 인터페이스를 implements 하게 하였고, compareTo 함수를 오버라이딩하여 문제에 맞게 정렬할 수 있도록 설정하였다. 자세한 내용은 코드를 참고하면 알 수 ..
문제 https://programmers.co.kr/learn/courses/30/lessons/17684 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr 풀이 간단한 구현 문제이다. 문제에서 하라는대로만 잘 구현하면 되는 어려울게 없는 문제이다. 우선 사전으로 사용할 HashMap를 선언해 'A'부터 'Z'까지 저장한다. 이후 한 글자씩 판단하면서 w와 c를 적절히 찾아서 사전에 추가해주면 된다. 자세한건 코드를 참고하자. 코드 HTML 삽입 미리보기할 수 없는 소스
문제 https://programmers.co.kr/learn/courses/30/lessons/17683?language=java# 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr 풀이 문자열 파싱을 잘 하면 어렵지 않게 풀 수 있는 문제다. 아래와 같은 함수들을 작성해서 이용했다. 1. C# -> c, D# - >d 처럼 #이 붙은 문자열을 바꿔주는 함수 2. 12:00, 12:10 -> "10을 반환" 하는 것처럼 문자열에서 시간을 구하는 함수 자세한 내용은 코드를 참고하자. 코드 HTML ..
문제 https://programmers.co.kr/learn/courses/30/lessons/17676?language=java HTML 삽입 미리보기할 수 없는 소스 결과
문제 https://programmers.co.kr/learn/courses/30/lessons/17678?language=java 코딩테스트 연습 - [1차] 셔틀버스 10 60 45 ["23:59","23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59"] "18:00" programmers.co.kr 풀이 우선 입력으로 들어온 String을 정수로 변환해 주는 함수를 작성했다. 간단하게 split() 함수를 이용해 시간과 분을 나누어서 계산했다. ArrayList에 시간 스케쥴을 저장하고 오름차순으로 정렬했다. 버스는 ..
문제 https://programmers.co.kr/learn/courses/30/lessons/17677?language=java 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 풀이 이 문제는 정규표현식에 대해 알면 편하다. 우선 두 String의 문자열들을 추출해야 하는데, String의 처음부터 두 글자씩 끊어서 이것이 영문자로만 이루어져 있다면 HashMap 자료구조에 넣어준다. 여기서 영문자로만 이루어져 있는지 판단하는 것은 정규표현식을 이용할 수 있다. 만약 HashMap에 ..
문제 https://programmers.co.kr/learn/courses/30/lessons/17679?language=java 코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈4블록". 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙 programmers.co.kr 풀이 이 문제는 기능별로 함수를 적절히 나누어 풀었다. 1. 2*2 블록이 같은지 체크하는 함수 2. 블록을 제거하는 함수 2*2 블록이 같은지 체크하는 것은 간단하다. 그냥 현재 블록을 기준으로 오른쪽, 아래, 오른쪽 아래가 같은지 체크하면 된다. 이때 조심할 것은 배열의 범위를 벗어나지 않도록 해야 한다...
문제 https://programmers.co.kr/learn/courses/30/lessons/17680?language=java HTML 삽입 미리보기할 수 없는 소스 결과
문제 https://programmers.co.kr/learn/courses/30/lessons/17681 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr 풀이 자바의 라이브러리를 이용해 10진수를 2진수 String으로 쉽게 변환할 수 있다. 이를 통해 쉽게 문제를 해결 할 수 있다. 다만 주의할 점은 String으로 변환 하였을 때 자릿수에 맞게 '0'을 넣어줘야 한다는 것이다. 코드 HTML 삽입 미리보기할 수 없는 소스 결과
문제 https://programmers.co.kr/learn/courses/30/lessons/17682 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 풀이 간단한 구현 문제이다. 최대 3번의 다트를 던질 기회가 있다고 했으므로, int[3] 배열을 만들어서 점수를 기록하면 간단하다. 코드 HTML 삽입 미리보기할 수 없는 소스 결과