Notice
Recent Posts
문제 풀이 및 개발 공간
[백준] 13414번 수강신청 (silver 3 본문
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st=new StringTokenizer(br.readLine());
HashMap<Integer,String> ranking=new HashMap<>();
HashMap<String,Integer> people=new HashMap<>();
int k=Integer.parseInt(st.nextToken());
int l=Integer.parseInt(st.nextToken());
int rank=1;
for(int i=0; i<l; i++){
String id=br.readLine();
if(people.get(id)==null){
people.put(id,rank);
ranking.put(rank,id);
}
else{
int temp=people.get(id);
ranking.put(temp,"none");
people.put(id,rank);
ranking.put(rank,id);
}
rank++;
}
for(int i=1; i<=l; i++){
if(!ranking.get(i).equals("none")){
bw.write(ranking.get(i)+"\n");
k--;
}
if(k==0){
break;
}
}
bw.flush();
}
}
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[]args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st=new StringTokenizer(br.readLine());
int n=Integer.valueOf(st.nextToken());
int k=Integer.valueOf(st.nextToken());
HashMap<String,Integer> dict=new HashMap<>();
Queue<String> que=new LinkedList<>();
for(int i=1; i<=k; i++){
String temp=br.readLine();
dict.put(temp,i);
que.offer(temp);
}
int numth=1;
while(!que.isEmpty()){
String temp=que.poll();
if(numth==dict.get(temp) && n>0){
bw.write(temp+"\n");
n--;
if(n==0){
break;
}
}
numth++;
}
bw.flush();
}
}
// 24년 2월 27일 코드. 확실히 간결해진게 보인다.
'백준공부 > java' 카테고리의 다른 글
[백준] 15988번 1,2,3 더하기 3 (silver 2 (0) | 2023.05.11 |
---|---|
[백준] 11478번 서로 다른 부분 문자열의 개수 (silver 3 (0) | 2023.05.03 |
[백준] 1463번 1로 만들기 문제! (silver 3 (0) | 2023.04.29 |
[백준] 2578번 빙고 문제! (silver 4 (0) | 2023.04.28 |
[백준] 3085번 사탕 게임 문제! (silver 2 (0) | 2023.04.27 |