반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. [백준] 백준 26040번 특정 대문자를 소문자로 바꾸기 자바(JAVA)

1) 문제번호 : 26040

 

2) 문제 출처

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

 

26040번: 특정 대문자를 소문자로 바꾸기

알파벳 대소문자로 구성된 문자열 A가 주어진다. 한 개 이상의 알파벳 대문자가 공백으로 구분된 문자 목록 B가 주어진다. 문자 목록 B에는 중복된 대문자가 존재하지 않는다. 문자 목록 B에 존재

www.acmicpc.net

 

2. 문제

알파벳 대소문자로 구성된 문자열 A가 주어진다. 한 개 이상의 알파벳 대문자가 공백으로 구분된 문자 목록 B가 주어진다. 문자 목록 B에는 중복된 대문자가 존재하지 않는다. 문자 목록 B에 존재하는 모든 대문자 b에 대하여, 문자열 A에 존재하는 대문자 b를 대응하는 소문자로 치환한 문자열을 C라고 하자. 입력으로 문자열 A와 문자 목록 B가 주어지면 문자열 C를 출력하자.

 

3. 제약사항

 

4. 입력

첫 번째 줄에 문자열 A가 주어진다.

두 번째 줄에 문자 목록 B가 주어진다.

 

5. 출력

첫 번째 줄에 문자열 C를 출력한다.

 

6. 풀이

- 문자열을 입력 받고, StringTokenizer에서 hasMoreTokens를 기준으로 while문을 돌려서 특정 문자를 toLowerCase를 하여 소문자로 변환하면 된다.

 

7. 소스 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
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));

		String str = br.readLine();
		
		StringTokenizer st = new StringTokenizer(br.readLine());
		
		while(st.hasMoreTokens()) {
			String temp = st.nextToken();
			
			str = str.replaceAll(temp, temp.toLowerCase());
			
		}
		
		System.out.println(str);

	}

}

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기