코테/프로그래머스

[프로그래머스/Level2] [3차] n진수 게임 (JAVA)

imname1am 2024. 2. 26. 13:35
반응형

📖 문제

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

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

 

반응형