2022년 03월 22일 화요일 - 바쁘다 바빠~~


오늘 올려볼 문제는 1663번 Smallest String With A Given Numeric Value 이라는 문제이다.


사진을 클릭하면 해당 문제로 이동합니다.

leetcode 문제 사진

오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.

간단히 적는 법은 힌트를 좀 받음


입력


사진에서도 볼 수 있듯이 int 값 2개가 입력으로 들어온다.



풀이 및 코드


길이가 n이고 a를 1, z를 26으로 봤을 때 모든 원소의 합이 k인 String 중에 사전순으로 가장 빠른 String을 리턴하는 문제다.


오늘은 처음부터 정답을 생각해냈다.

char 배열을 만들고 뒤에서부터 k를 다써가면서 넣으면 그리디로 문제가 풀리게 된다.


이제 코드를 봐보자!


풀이코드

class Solution {
    public String getSmallestString(int n, int k) {
        char[] arr = new char[n];
        Arrays.fill(arr, 'a');
        k -= n;

        for(int i = n - 1; k > 0; i--)
        {
            arr[i] += Math.min(k, 25);
            k -= 25;
        }

        return new String(arr);
    }
}




제출 화면

leetcode 문제 맞았습니다


오늘 문제는 좀 더럽게 풀었다가 discuss에서 힌트를 받아서 좀 깔끔하게 푼 문제였다.

낼 문제는 좀 더 재밌는 문제였으면 좋겠다.


내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.

+ Recent posts