메이쁘

(JAVA) 백준 1159번 : 농구 경기 본문

Algorithm/Baekjoon

(JAVA) 백준 1159번 : 농구 경기

메이쁘 2020. 8. 26. 22:10

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

 

1159번: 농구 경기

문제 상근이는 농구의 세계에서 점차 영향력을 넓혀가고 있다. 처음에 그는 농구 경기를 좋아하는 사람이었다. 농구에 대한 열정은 그를 막을 수 없었고, 결국 상근이는 농구장을 청소하는 일을

www.acmicpc.net

 

진짜 오랜만에 다시 백준 문제를 풀기 시작했다.

 

복귀 문제?!

 

 

쉽기 때문에 별도의 해설 및 알고리즘 설명은 생략하겠다.

 

 

간단하게 말하자면,

 

같은 문자의 개수를 파악하는 문제들은

 

'a', 'A' 와 같이 시작 문자의 아스키코드를 파악하여 (여기서는 'a' 가 시작문자이므로, 'a' 는 97 이다.)

 

해당 문자 - 'a' 를 배열의 index로 보고 해당 index의 원소를 counting하면 된다.

 

 

만약, 해당 인덱스의 알파벳을 얻기 위해서는 위와 반대로 진행하면 된다.

 

 

(char) (index + 'a') 또는 (char) (index + 97)

 

 

 

참 쉽죠 ?!

 

 

감사합니다.

 

 

소스코드


package temp;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
// 문자열 처리
// 농구경기
public class p1159 {
static final int ASCII = 97;
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.valueOf(st.nextToken());
int[] alphabet = new int[26];
// 성씨 개수 파악
for(int i = 0; i < n; i++) {
String name = br.readLine();
char first = name.charAt(0);
alphabet[first - ASCII]++;
}
StringBuilder sb = new StringBuilder();
// 5개 이상 비교
for(int i = 0; i < alphabet.length; i++) {
if(alphabet[i] >= 5) {
sb.append((char) (i + ASCII));
}
}
if(sb.length() == 0) {
System.out.print("PREDAJA");
}
else {
System.out.print(sb.toString());
}
}
}
view raw p1159.java hosted with ❤ by GitHub
Comments