728x90
반응형
문제
정답 코드
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// 입력 문자 저장
String str = br.readLine();
// a부터 z까지 반복하면서
// 일치하는 인덱스 반환
for(char c = 'a'; c <= 'z'; c++){
System.out.print(str.indexOf(c) + " ");
}
br.close();
}
}
if문 사용해서 a랑 일치할 때, b랑 일치할 때 하나하나 해줘야 하나..이건 아닌 거 같은데..하며 머리를 싸매다가 효율적인 방법이 생각안나 결국 구글링을 했습니다...아스키코드를 활용하는 코드가 많이 보였는데 위 코드를 보고 유레카를 외쳤다는 이야기,,
indexOf()
: 특정 문자 위치를 찾는 메소드
- indexOf(String str)
- indexOf(int ch)
- indexOf(int ch, int fromIndex)
- indexOf(String str, int fromIndex)
특정 문자나 문자열이 앞에서부터 처음 발견되는 인덱스를 반환하며
찾지 못했을 경우 -1을 반환하는 메소드입니다.
너무 이 문제에 찰떡인 메소드 아니냐며...
728x90
반응형
'Computer Science (CS) > 알고리즘' 카테고리의 다른 글
[프로그래머스/Java] 최솟값 만들기 (0) | 2023.04.28 |
---|---|
[프로그래머스/Java] JadenCase 문자열 만들기 (0) | 2023.04.28 |
[백준/Java] 11720번 숫자의 합 (0) | 2023.04.16 |
[백준/Java] 11654번 아스키 코드 (0) | 2023.04.16 |
[백준/Java] 9086번 문자열 (0) | 2023.04.16 |