링크

 

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

 

10809번: 알파벳 찾기

각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출

www.acmicpc.net


 

문제

 


풀이

 

1. 문자열 입력 받음

2. 각각의 알파벳 a - z 까지 위치를 반환 -> 알파벳은 26개. -> 총 26개 위치 반환

3. a - z 중 일치하는 알파벳이 없으면 -1 반환

 

indexOf 라는 내장함수 사용.

찾는 단어가 있으면 해당 인덱스를 반환하고

찾는 단어가 없으면 -1로 반환한다.

 

* indexOf의 내부 모습

 

public static void main(String[] args) {
	String str = "baekjoon";
	System.out.println(str.indexOf("b"));
	System.out.println(str.indexOf("a"));
	System.out.println(str.indexOf("e"));
	System.out.println(str.indexOf("k"));
	System.out.println(str.indexOf("j"));
	System.out.println(str.indexOf("o"));
	System.out.println(str.indexOf("o"));
	System.out.println(str.indexOf("n"));
}


indexOf를 사용하여 로직 구현

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

	/**
	 * 알파벳찾기
	 * @param args
	 */
	public static void main(String[] args) throws IOException {		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String str = br.readLine();	
		StringBuilder sb = new StringBuilder();
		for(char i = 'a'; i <= 'z'; ++i) {
			sb.append(str.indexOf(i)).append(" ");
        }
		System.out.println(sb.toString().substring(0,sb.length()-1));
	}
}


후기

* 난이도 (5점 만점)

5 : 풀 줄 알면 기업 코딩테스트는 문제 없음.

4 : 평균적인 기업 코딩테스트의 중간 이상.

3 : 평균적인 기업 코딩테스트의 쉬운 문제 .

2 : 알고리즘 문제를 연습하고 있다면 풀 수 있는 문제.

1 : 시간이 오래 걸리지 않고, 누구나 풀 수 있는 문제.

 

난이도는 매우 쉬운 편이었으며 내장함수를 알고 있다면 쉽게 풀 수 있는 문제이다.

+ Recent posts