코테 문제풀이
백준 16165 : 걸그룹 마스터 준석이 java
ddubi__
2022. 10. 21. 09:27
https://www.acmicpc.net/problem/16165
16165번: 걸그룹 마스터 준석이
정우는 소문난 걸그룹 덕후이다. 정우의 친구 준석이도 걸그룹을 좋아하지만 이름을 잘 외우지 못한다는 문제가 있었다. 정우는 친구를 위해 걸그룹 개인과 팀의 이름을 검색하여 외우게 하는
www.acmicpc.net
- 풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class back_16165 {
static String[] girlGroupName = null;
static ArrayList<List<String>> girlGroupList = null;
static int group;
static int quiz;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String temp[] = br.readLine().split(" ");
group = Integer.parseInt(temp[0]);
quiz = Integer.parseInt(temp[1]);
girlGroupList = new ArrayList<List<String>>();
girlGroupName = new String[group];
for(int i=0; i<group; i++) {
List<String> girlGroup = new ArrayList<String>();
girlGroupName[i] = br.readLine();
int n = Integer.parseInt(br.readLine());
for(int j=0; j<n; j++) {
girlGroup.add(br.readLine());
}
Collections.sort(girlGroup);
girlGroupList.add(girlGroup);
}
// quiz
for(int i=0; i<quiz; i++) {
String context = br.readLine();
int choice = Integer.parseInt(br.readLine());
if(choice == 0) { // 모든 걸그룹의 이름을 대라
sayMemberName(context);
} else if(choice == 1) { // 해당 멤버가 있는 걸그룹명을 대라
sayGroupName(context);
}
}
}
private static void sayGroupName(String context) {
for(int i=0; i<group; i++) {
if(girlGroupList.get(i).contains(context)) {
System.out.println(girlGroupName[i]);
}
}
}
private static void sayMemberName(String context) {
for(int i=0; i<group; i++) {
String groupName = girlGroupName[i];
if(groupName.equals(context)) {
for(int j=0; j<girlGroupList.get(i).size(); j++) {
System.out.println(girlGroupList.get(i).get(j));
}
}
}
}
}
시간이 없어서 직관적으로 대충 풀었는데
재밌게 풀수있는 방법이 있을것 같아 다시 풀어봐야겠다고 생각하는 문제.
난이도는 어렵지 않다