1. 유형
그리디
2. 풀이
배열을 전부다 A로 초기화 한다
끝부터 탐색하며 25보다 값이 크면 빼주면서 초기화
java로 풀 경우 시간이 타이트 해서, StringBuilder를 사용해서 출력 시간을 줄여야 한다.
3. 코드
package 그리디;
import java.util.Scanner;
public class back_17828문자열화폐 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int len = sc.nextInt();
int x = sc.nextInt();
StringBuilder sb = new StringBuilder();
boolean flag = true;
if(x < len) {
flag =false;
}
if (x / 26 > len) {
flag = false;
}
if (x / 26 == len && x % 26 != 0) {
flag = false;
}
if (flag) {
char map[] = new char[len];
x-=len;
for (int i = len - 1; i >= 0; i--) {
map[i] = 'A';
if (x >= 25) {
x -= 25;
map[i] +=25;
} else if(x>0 && x<25){
map[i]+=x;
x=0;
}
sb.append(map[i]);
}
sb.reverse();
System.out.println(sb);
}else {
System.out.println('!');
}
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[백준 - 2457] 골드4 - 공주님의 정원(그리디) (0) | 2020.11.01 |
---|---|
[백준 - 1276] 골드5 - 교각 놓기 (2) | 2020.10.31 |
[백준 - 14711] 골드4 - 타일 뒤집기( easy) (문자열) (0) | 2020.10.29 |
[백준 - 2638] 골드4 - 치즈 (bfs) (0) | 2020.10.29 |
[백준 - 3190] 골드5 - 뱀 (0) | 2020.10.29 |