난이도: Bronze 1
프로그래밍 언어: Java
문제명: 아기 석환 뚜루루 뚜루
푼일자: 2021년 5월
주소: https://www.acmicpc.net/problem/15947
문제풀기
먼저 입력된 값에 따라 위치를 찾아 가사를 도출을 해내야합니다.
해당 알고리즘 먼저 작성을 해봅니다.
1
2
3
4
5
6
7
8
9
10
|
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
sc.close();
String lyrics = "baby sukhwan tururu turu very cute tururu turu in bed tururu turu baby sukhwan";
String[] arr_lyrics = lyrics.split(" ");
int re = a % arr_lyrics.length;
if (re == 0) System.out.println(arr_lyrics[arr_lyrics.length - 1]);
else System.out.println(arr_lyrics[re - 1]);
|
cs |
그리고 실행을 해 봅니다.
![](https://blog.kakaocdn.net/dn/WASuG/btq5CBvJZRg/lMrhTQh7hIRV13Y4b75ck1/img.png)
![](https://blog.kakaocdn.net/dn/dugbK0/btq5JC657I8/xPuFFxCTxnXmzmj1hRqVjK/img.png)
원하던 값이 정상적으로 도출되었습니다.
이제 가사가 한번씩 반복이 될때마다 tururu의 ru를 더해주고 ru가 5회 초과할 경우 다른 문자열로 출력할 수 있도록 작업을 해 줍니다.
완성된 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
import java.util.Scanner;
public class question_15947 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
sc.close();
String lyrics = "baby sukhwan tururu turu very cute tururu turu in bed tururu turu baby sukhwan";
String[] arr_lyrics = lyrics.split(" ");
int re = a % arr_lyrics.length;
if (re == 0) System.out.println(arr_lyrics[arr_lyrics.length - 1]);
else {
String cur_str = arr_lyrics[re - 1];
if (cur_str.contains("turu")) {
int counting = a / arr_lyrics.length;
if (cur_str.contains("tururu"))
if (counting >= 3) System.out.println("tu+ru*" + (counting + 2));
else System.out.println(cur_str + getRuRuRu(a / arr_lyrics.length));
else
if (counting >= 4) System.out.println("tu+ru*" + (counting + 1));
else System.out.println(cur_str + getRuRuRu(a / arr_lyrics.length));
} else System.out.println(cur_str);
}
}
public static String getRuRuRu(int count) {
StringBuilder sb = new StringBuilder();
while(count-- != 0) sb.append("ru");
return sb.toString();
}
}
|
cs |
Java 언어로 채점 현황을 봤는데 저 포함 6명이 합격을 받으신 분들이 계셨었어요!
다른 분들의 풀이를 보니 완전 다르게 접근하신 분도 계시고, 저와 다르게 한줄로 길게 작성하시는 분들도 많았습니다.
보면서 하나씩 더 배워가고, 아쉬웠던건 contains 가 아닌 길이로 체크했다면
메모리를 더 적게 먹었지 않았을까 싶습니다.
반응형