Notice
Recent Posts
Recent Comments
Link
DY N DY
실력키우기 문자열변환(JAVA) 본문
2518 : 문자열변환
제한시간: 1ms 메모리제한: 32MB
해결횟수: 771회 시도횟수: 2030회
현석이가 책을 발간하기 위해서 원고를 작성하여 출판사에 보냈다. 며칠 후 출판사에서 택배로 초안을 보내왔다.
현석이는 초안을 읽어보다가 오타를 발견하였다. 그런데 오타가 한글자만 있는 것이 아니어서 수정해야하는 문자를 기록하여 다시 출판사로 보내주었다.
여기서 문자란 숫자를 포함하며, 대소문자를 구별한다. 즉, 대문자와 소문자는 다른 문자이다.
당신이 할 일은 현석이가 보내온 정보를 가지고 제대로 수정된 문장을 출력하는 것이다.
[Copy]3 A a 0 5 5 4 10 A B C 0 1 4 5 a b A | [Copy]aBC5144aba |
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 34 35 36 37 38 39 40 41 42 43 44 | /************************************************************** Problem: 2518 User: a132034 Language: Java Result: Success Time:549 ms Memory:18344 kb ****************************************************************/ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); sc.nextLine(); char [][] proofread = new char [n][ 2 ]; for ( int i = 0 ; i < n; ++i){ String input = sc.nextLine(); proofread[i][ 0 ] = input.toCharArray()[ 0 ]; proofread[i][ 1 ] = input.toCharArray()[ 2 ]; } int m = sc.nextInt(); char []str = new char [m]; for ( int i = 0 ; i < m; ++i) { char tmp = sc.next().charAt( 0 ); for ( int j = 0 ; j < n; ++j) { if (tmp == proofread[j][ 0 ]){ tmp = proofread[j][ 1 ]; break ; } } str[i] = tmp; } System.out.println(str); } } |
알고리즘 문제라기 보다는 단순 코딩문제같았다.
map같은걸 써도 되지만.. 그냥 2차원 배열을 이용했고, 그냥 for loop를 돌며 만약 바꿔야 할 것이 나오면 바꾸어주었다.
특별한 스킬같은건 없다..
'PARK > ALGORITHM' 카테고리의 다른 글
실력키우기 타일교체(C++) (0) | 2016.06.28 |
---|---|
실력키우기 섞기수열(C++) (0) | 2016.06.28 |
실력키우기 소수와 합성수(JAVA) (0) | 2016.06.03 |
실력키우기 소수의개수(JAVA) (0) | 2016.06.02 |
실력키우기 소수(JAVA) (0) | 2016.06.01 |