728x90
문제
https://www.acmicpc.net/problem/2902
2902번: KMP는 왜 KMP일까?
입력은 한 줄로 이루어져 있고, 최대 100글자의 영어 알파벳 대문자, 소문자, 그리고 하이픈 ('-', 아스키코드 45)로만 이루어져 있다. 첫 번째 글자는 항상 대문자이다. 그리고, 하이픈 뒤에는 반드
www.acmicpc.net
해결
자바의 반복문(for문)과 조건문(if문)을 이용해 입력받은 문자열의 대문자만 출력하는 프로그램을 작성하였다.
아스키코드를 활용한 조건문의 작성이 관건인 문제였다.

문자열의 대문자만 출력하는 알고리즘
1. 문자열의 모든 문자를 확인해야 하므로 문자열의 길이만큼 for문을 실행한다.
2. 문자열의 i번째 문자가 A (65) 이상 Z (90) 이하일 때만 출력되도록 for문 안에 if문을 작성한다.
3. if문의 조건에 맞는 i번째 문자만 출력되도록 charAt(i)을 이용해 대문자만 출력한다.
구현
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
import java.util.*;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
String str = sc.next(); // 알고리즘 이름을 문자열로 입력받음
for (int i = 0; i < str.length(); i++) { // 문자열의 길이만큼 for문 실행
if ('A' <= str.charAt(i) && str.charAt(i) <= 'Z') {
// 대문자만 출력해야 하므로 if문을 이용해 아스키코드 A이상 Z이하만 출력
System.out.print(str.charAt(i));
// charAt을 이용해 if문의 조건에 맞는 i번째 문자만 출력
}
}
}
}
|
cs |
결과

728x90
'Algorithm > Beakjoon' 카테고리의 다른 글
[Java] baekjoon 2753 : 윤년 / if문 (0) | 2021.07.18 |
---|---|
[Java] baekjoon 9498 : 시험 성적 / if문 (0) | 2021.07.17 |
[Java] baekjoon 1330 : 두 수 비교하기 / if문 (0) | 2021.07.16 |
[Java] baekjoon 10809 : 알파벳 찾기 / 문자열 (0) | 2021.07.15 |
[Java] baekjoon 1546 : 평균 / 1차원 배열 (0) | 2021.07.13 |
댓글