๐Algorithm/๐ฅBaekjoon
[Baekjoon] 3077_์์ง์๋
๋ฟ์ผ._.
2023. 10. 13. 12:15
๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/3077)
< ์์ง์๋ >
๋ฌธ์ ํ์ด
HashMap <String, Integer>๋ฅผ ์ฌ์ฉํด์ ๋ ๊ฐ์ ํด์ ์ ๊ณจ๋์ ๋ ์ซ์๋ฅผ ๋น๊ตํ์ฌ ์์๋ฅผ ํ๋จํ๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.StringTokenizer;
public class _3077_ { // ์์ง์๋
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int n = Integer.parseInt(bf.readLine());
st = new StringTokenizer(bf.readLine());
HashMap<String, Integer> map = new HashMap<>();
for (int i = 0; i < n; i++) {
map.put(st.nextToken(), i);
}
int b = n * (n - 1) / 2;
int a = 0;
String arr[] = new String[n];
st = new StringTokenizer(bf.readLine());
for (int i = 0; i < n; i++) {
arr[i] = st.nextToken();
}
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
if (map.get(arr[i]) < map.get(arr[j]))
a += 1;
}
}
System.out.println(a + "/" + b);
}
}
Main
๋ณ์)
n : ํด์ ์ ๊ฐ์
map : HashMap <ํด์ ์ด๋ฆ, ์์>
b : ๋ง์
a : ํ๋ ์ ์
arr : ๋ต์
- ํด์ ์ ๊ฐ์(n) ์ ๋ ฅ
- ์ ๋ต์ ์ ๋ ฅ๋ฐ์ HashMap์ ์ ์ฅ
- ์์ฑํ ๋ต์์ ์ ๋ ฅ๋ฐ์ arr์ ์ ์ฅ
- arr์ ๋ชจ๋ ์์ ์ํ
: HashMap์์ value ๊ฐ์ ๊ฐ์ ธ์ ํฌ๊ธฐ๋ฅผ ๋น๊ตํ์ฌ ์๋์ ์ธ ๊ด๊ณ ํ๋จ
- ์ ๋ต(a/b) ์ถ๋ ฅ
