[프로그래머스/Level2] [3차] n진수 게임 (JAVA)
📖 문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
💡 풀이 방식
• 문자열
1. m명이 t번 말할 때까지 숫자를 n진수로 변환한 결과를 sb에 저장한다.
2. 튜브 순서에 해당하는 글자들만 추출한다.
💥 유의사항
11진법 이상인 경우, 알파벳으로 세팅하기
→ charAt()한 결과를 붙이면 알아서 10이 넘어가면 a~f까지 저장된다.
🔺 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
import java.util.*;
class Solution {
public String solution(int n, int t, int m, int p) {
StringBuilder sb = new StringBuilder();
StringBuilder ans = new StringBuilder();
int num = 0;
// 길이가 미리 구할 숫자 개수 * 게임 참가 인원만큼 될 때까지 n진수로 변환
while(sb.length() < m * t) { // m명이 t번 말할 때까지
sb.append(Integer.toString(num++, n));
}
// 튜브 순서에 해당하는 글자들만 추출
for(int i = p - 1 ; i < m * t ; i += m) {
ans.append(sb.charAt(i));
}
return ans.toString().toUpperCase();
}
}
|
cs |
💦 어려웠던 점
- 50분 소요.. 못 풀었지만
- 첫 번째 while문의 종료 조건을 p * t로 해서 틀렸었다
- 알파벳 처리는 어떻게 하지? → charAt()한 결과를 붙이면 알아서 10이 넘어가면 a~f까지 저장된다. 나중에 정답 문자열에서 모두 대문자로 변환해주기만 하면 된다.
1회독 | 2회독 | 3회독 | 4회독 | 5회독 |
V |
(참고)
[프로그래머스] n진수 게임 - Java
https://programmers.co.kr/learn/courses/30/lessons/17687 코딩테스트 연습 - [3차] n진수 게임 N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉
hyojun.tistory.com
프로그래머스 - N진수 게임 문제 (자바)
programmers.co.kr/learn/courses/30/lessons/17687# 코딩테스트 연습 - [3차] n진수 게임 N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서
wellbell.tistory.com
- 깔끔하고 멋진 설명
[Java/자바] 프로그래머스 Lv2 - n진수 게임
문제 설명 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0
hstory0208.tistory.com