카카오 신입공채 3차 코딩테스트 문제1 N진수 게임 JAVA 예제
- JAVA/알고리즘과 자료구조
- 2018. 4. 19. 00:09
카카오 신입공채 3차 코딩테스트 문제1 N진수 게임 JAVA 예제
카카오 신입공채 2차 테스트의 경우 Http호출을 통해서 img 태그를 파싱하는 문제인지라, 실제 테스트 서버가 없는 경우 구현이 힘들기 때문에 생각하고 3차 코딩테스트를 작성합니다.
3차 코딩테스트는 오히려 1차 코딩 테스트보다 쉬운 문제가 많았는데, 아무래도 1차의 경우는 온라인 시험, 3차는 오프라인 시험임을 감안한듯 합니다.
그럼 카카오 신입공채 3차 코딩테스트 문제1번인 N진수을 살펴보도록 합시다.
설명은 장황하지만, 잘 읽어보면 3,6,9 게임과 비슷한데, N진수로 변환된 스트링을 차례로 한글자씩 말하는 경우 나(튜브)가 말해야 하는 문자를 리턴하면 됩니다.
주요 포인트
N진수 변환 알고리즘 작성
FOR문 및 적절한 IF, ELSE 사용
입력형식은 위와 같으며
출력으로 주어진 테스트 케이스는 이러합니다.
N진수 게임 JAVA 예제
FOR, IF, ELSE 등 논리 처리로직
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | public static String solution(int n, int t, int m, int p) { String retVal = ""; int curTurn = 0; int curNum = 0; String strNum = ""; while(retVal.length() < t) { strNum = conversion(n, curNum++); // 진수변환 결과 리턴 for(char c : strNum.toCharArray()) { curTurn++; if(curTurn == p) { retVal += c; if(retVal.length() == t) { break; } } if(curTurn == m) { curTurn = 0; } } } return retVal; } | cs |
N진수 변환 메소드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /** * 10진수를 입력받아 n진수의 String으로 리턴 * @param n진수 * @param num 10진수 입력값 */ public static String conversion(int n, int num) { String retVal = ""; if(num == 0) retVal = "0"; while(num != 0) { retVal = (num % n < 10 ? Integer.toString(num % n) : Character.toString((char) (num % n + 55))) + retVal; if(num / n == 0) retVal = num + retVal; num = num / n; } return retVal; } | cs |
'JAVA > 알고리즘과 자료구조' 카테고리의 다른 글
카카오 신입공채 3차 코딩테스트 문제3 파일명정렬 JAVA (0) | 2018.04.20 |
---|---|
카카오 신입공채 3차 코딩테스트 문제2 LWZ압축 JAVA 예제 (0) | 2018.04.19 |
카카오 신입공채 1차 코딩테스트 문제7 추석트래픽 JAVA 예제 (0) | 2018.04.11 |
카카오 신입공채 1차 코딩테스트 문제6 프렌즈블록 JAVA 예제 (0) | 2018.04.05 |
카카오 신입공채 1차 코딩테스트 문제5 뉴스클러스터링 JAVA 예제 (1) | 2018.04.05 |
이 글을 공유하기