프로그래머스 lv2 N진수 게임

namkun·2023년 1월 23일
0

코딩테스트

목록 보기
64/79

문제링크

N진수 게임

문제 풀이

  • Java에서 n진수 구하는 방법은 Integer.toString(int n, int radix) 를 이용하면 쉽게 구할 수 있다.
  • 이를 통해서 우선 게임에 참가하는 인원 * 튜브가 말할 숫자 개수 만큼 n진수의 값을 구한다.
  • 그 다음 구해진 값을 순서에 맞게 더해서 String 값을 return해주면 끝!
import java.util.stream.Collectors;
import java.util.stream.IntStream;

class Solution {
    public String solution(int n, int t, int m, int p) {
        // 진법 n
        // 튜브가 말해야하는 숫자의 개수 t
        // 게임에 참가하는 인원 m
        // 튜브의 순서 p
    
        StringBuilder answer = new StringBuilder();

        String[] split = IntStream
                .rangeClosed(0, m * t)
                .mapToObj(i -> Integer.toString(i, n))
                .collect(Collectors.joining())
                .split("");

        for (int i = p - 1; i < m * t; i += m) {
            answer.append(split[i]);
        }

        return answer.toString().toUpperCase();
    }
}

후기

  • 나만 그런 생각한거 아니지? 아무리 문제라도 정신 나간 것 같아
profile
개발하는 중국학과 사람

0개의 댓글