99클럽 코테 스터디 31일차 TIL + 정렬

2024. 11. 27. 16:37Algorithm Problem Solving

https://www.acmicpc.net/problem/1755

1. 알고리즘! 생각해보자

1) 숫자-> String 변환
2) 정렬
3) String -> 숫자 변환하여 출력

2. 해결 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.StringTokenizer;

public class Main {
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine(), " ");

		int M = Integer.parseInt(st.nextToken());
		int N = Integer.parseInt(st.nextToken());
		
		String[] number = {	"Zero", "One", "Two", "Three", "Four", "Five",
				"Six", "Seven", "Eight", "Nine" };
		
		ArrayList<String> list = new ArrayList<>();
		for (int num = M; num <= N; num++) {
			String string = "";
			
			if(num/10 != 0)
				string = number[num/10] + " ";
			
			string += number[num%10];
			list.add(string);
		}
		
		Collections.sort(list);
		
		for (int i = 0; i < list.size(); i++) {
			String result = list.get(i).replace(" ", "");
			for (int index = 0; index < number.length; index++)
				result = result.replace(number[index], index + "");
			
			System.out.print(result + " ");
			if(i%10 == 9)
				System.out.println();
		}
	}
}

3. 레퍼런스

 

[BOJ/JAVA] 백준 1755 : 숫자놀이 (자바)

문제 정보 문제명 - 숫자놀이 난이도 - 실버 IV 문제 번호 - 1755번 문제 링크 BOJ_S4_1755_숫자놀이 1755번: 숫자놀이 79를 영어로 읽되 숫자 단위로 하나씩 읽는다면 "seven nine"이 된다. 80은 마찬가지로 "

han-hoon.tistory.com