문제(출처: 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 값을 출력한다.
'🌞Algorithm > 🔥Baekjoon' 카테고리의 다른 글
[Baekjoon] 13986_Gravity (1) | 2025.05.30 |
---|---|
[Baekjoon] 7585_Brackets (1) | 2025.05.29 |
[Baekjoon] 9863_Calling All Programmers (1) | 2025.05.27 |
[Baekjoon] 26876_New Time (1) | 2025.05.26 |
[Baekjoon] 10689_Hamza (1) | 2025.05.23 |