#문제 설명
Leetcode 1663번 문제에서는 문자열 길이 n과 정수 k가 주어진다. 이 문제에서 각 소문자 알파벳들에게는 1부터26의 값이 부여된다 (예: a는 1, b는 2, ... , z는 26). 이 문제에서는 주어진 n과 k에 맞는 문자열을 return해야한다. 예를 들어 n = 3과 m은 27이 주어지면 "aay"라는 문자열을 return해야된다. 왜냐하면 문자열 길이는 3이어야하고 a = 1 + a = 1 + y = 25 = 27이기 때문이다.
#문제 풀이
class Solution {
public String getSmallestString(int n, int k) {
char[] result = new char[n];
for (int position = n - 1; position >= 0; position--) {
int add = Math.min(k - position, 26);
result[position] = (char) (add + 'a' - 1);
k -= add;
}
return new String(result);
}
}
'LeetCode > String' 카테고리의 다른 글
[Easy] 20. Valid Parentheses (0) | 2022.11.14 |
---|---|
[Medium] 49. Group Anagrams (Amazon) (1) | 2022.09.20 |
[Medium] 856. Score of Parentheses (0) | 2022.09.12 |
[Medium] 5. Longest Palindromic Substring (구글 코딩 테스트 기출 문제) (0) | 2022.09.11 |
[Easy] 344. Reverse String (0) | 2022.08.25 |