🌞Algorithm/🔥Baekjoon

[Baekjoon] 24570_Harp Tuning

뿌야._. 2025. 5. 28. 16:06
문제(출처: https://www.acmicpc.net/problem/24570)

< Harp Tuning >

 

문제 풀이 

 

알파벳인 경우, (+, -)인 경우, 숫자인 경우를 구분하여 출력한다.

 

my solution (Java)

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.InputStreamReader;

public class _24570_ { // Harp Tuning

	public static void main(String[] args) throws IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

		String str = bf.readLine();

		String harp = "";
		String number = "";
		for (int i = 0; i < str.length(); i++) {
			if (Character.isAlphabetic(str.charAt(i))) {
				harp += str.charAt(i);
				if (!number.equals("")) {
					bw.write(number + "\n");
					number = "";
				}
			} else {
				if(!harp.equals("")) {
					bw.write(harp + " ");
					harp = "";
				}
				if (Character.isDigit(str.charAt(i))) {
					number += str.charAt(i);
				} else {
					if (str.charAt(i) == '+') {
						bw.write("tighten ");
					} else {
						bw.write("loosen ");
					}
				}
			}
		}
		bw.write(number);
		bw.flush();
	}
}
변수)
str : 튜닝 명령어
harp : 대문자
number : 감은 횟수

 

튜닝 명령어를 입력받아 문자열을 탐색하며 다음 과정을 거친다.

 

1) 알파벳이라면 harp에 추가한다. 만약 number에 값이 있다면 number을 출력하고 비워준다.

2) harp에 값이 있다면 harp를 출력하고 비워준다. 

3) 숫자라면 number에 추가한다.

4) +라면 "tighten"을 출력하고, -라면 "loosen"을 출력한다.

 

마지막에 number 값을 출력한다.