https://www.acmicpc.net/problem/1620
1620๋ฒ: ๋๋์ผ ํฌ์ผ๋ชฌ ๋ง์คํฐ ์ด๋ค์
์ฒซ์งธ ์ค์๋ ๋๊ฐ์ ์๋ก๋์ด ์๋ ํฌ์ผ๋ชฌ์ ๊ฐ์ N์ด๋ ๋ด๊ฐ ๋ง์ถฐ์ผ ํ๋ ๋ฌธ์ ์ ๊ฐ์ M์ด ์ฃผ์ด์ ธ. N๊ณผ M์ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ธ๋ฐ, ์์ฐ์๊ฐ ๋ญ์ง๋ ์์ง? ๋ชจ๋ฅด๋ฉด
www.acmicpc.net
์ฌ์ค ๋จ์ํ๊ฒ, ๋ฌธ์์ด๋ก ์ ๋ ฅ๋ฐ์ผ๋ฉด ํด๋น ๋ฌธ์์ด์ index ๋ฐํ
์ซ์(index)๋ก ์ ๋ ฅ์ ๋ฐ์ผ๋ฉด ํด๋น index์ ๋ฌธ์์ด์ ๋ฐํํ๋ค.
์ฒ์์ ๊ทธ๋ฅ ArrayList์์ ๊ฒ์ํ๋ ๋ฐฉ์์ ํ๋๋, ์๊ฐ์ด๊ณผ๊ฐ ๋ด๋ค.
๊ทธ๋์ map๊ณผ ๋ฐฐ์ด์ ์ด์ฉํด์ ํธ๋ ์ฝ๋๋ก ๋ฐ๊พธ์๋ค.
์ฝ๋๋, ์๊ฐ์ด๊ณผ๋ก ์คํจํ๋ ์ฝ๋์
์ฑ๊ณตํ ์ฝ๋ ๋ชจ๋ ์ฒจ๋ถํ๋ค.
1. ArrayList๋กํ์ฌ ์๊ฐ์ด๊ณผ๊ฐ ๋ฌ๋ ์ฝ๋
import java.util.*;
class Main {
public static void main(String args[]) throws Exception {
Scanner kb = new Scanner(System.in);
int n=kb.nextInt();
int m=kb.nextInt();
ArrayList<String> list=new ArrayList<>();
for(int i=0; i<n; i++) list.add(kb.next());
for(int i=0; i<m; i++){
String temp=kb.next();
if(list.contains(temp)){
System.out.println((list.indexOf(temp))+1);
}else{
System.out.println((list.get(Integer.parseInt(temp)-1)));
}
}
}
}
2. Map + ๋ฐฐ์ด๋ก ์ฑ๊ณตํ ์ฝ๋
import java.util.*;
class Main {
public static void main(String args[]) throws Exception {
Scanner kb = new Scanner(System.in);
int n=kb.nextInt();
int m=kb.nextInt();
HashMap<String, Integer> map = new HashMap<>();
String[] arr=new String[n];
for(int i=0; i<n; i++){
String s=kb.next();
arr[i]=s;
map.put(s,i+1);
}
for(int i=0; i<m; i++){
if(kb.hasNextInt()) System.out.println(arr[kb.nextInt()-1]);
else System.out.println(map.get(kb.next()));
}
}
}
'๐ ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค & ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 1 : ์ซ์ ๋ฌธ์์ด๊ณผ ์๋จ์ด (0) | 2023.02.09 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 1 : ์์ ์ํธ (0) | 2023.02.08 |
[๋ฐฑ์ค][JAVA]1764๋ฒ : ๋ฃ๋ณด์ก (0) | 2023.01.03 |
[๋ฐฑ์ค][JAVA]11047๋ฒ : ๋์ 0 (0) | 2023.01.02 |
[๋ฐฑ์ค][JAVA]11899๋ฒ : ๊ดํธ ๋ผ์๋ฃ๊ธฐ (1) | 2022.12.31 |