https://www.acmicpc.net/problem/1302
์ฝ๋
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int N = scan.nextInt();
String[] sArr = new String[N];
for(int i=0; i<N; i++)
sArr[i] = scan.next();
Arrays.sort(sArr);
int count = 0;
int max = 0;
String temp = sArr[0];
String result = "";
for(int i=0; i<sArr.length; i++) {
// ๋ ์ฑ
์ ์ ๋ชฉ์ด ๊ฐ์๊ฒฝ์ฐ
if(sArr[i].equals(temp)) {
count ++;
}
// ๋ ์ฑ
์ ์ ๋ชฉ์ด ๋ค๋ฅธ๊ฒฝ์ฐ
else {
if(count > max) { // ๋น๋๊ฐ ๋์์ฑ
์ด ๊ธฐ์ค์ด ๋จ.
max = count;
result = temp;
}
// ์ฑ
์ ๋ชฉ๊ณผ ๊ฐ์ ์ด๊ธฐํ
temp = sArr[i];
count = 1;
}
}
if(count > max)
result = temp;
System.out.println(result);
scan.close();
}
}
ํ์ด
๋ฐฉ๋ฒ์ ์ ๋ง ๊ฐ๋จํ๋ฐ ๋ญ๊ฐ ๋จธ๋ฆฌ๊ฐ ์๋์๊ฐ๋ค.
์ฑ ์ ๋ชฉ์ String ๋ฐฐ์ด์ ์ ์ฅํ๊ณ , ์ ๋ ฌํ ํ ์ฑ ์ ์ ๋ชฉ ๋น๋์๊ฐ ๊ฐ์ฅ ๋์ ์ฑ ์ ๋ชฉ์ ์ฐพ์ผ๋ฉด ๋๋ค.
ํ์ฌ ์ ์ฅ๋ ์ฑ ์ ๋ชฉ(temp) ๋ฅผ ๊ธฐ์ค์ผ๋ก i๋ฒ์งธ ์ฑ ์ ์ ๋ชฉ์ด ๊ฐ์ผ๋ฉด count๋ฅผ ์ฆ๊ฐ์ํค๊ณ ,
๋ ์ฑ ์ ์ ๋ชฉ์ด ๋ค๋ฅด๋ฉด ์ฑ ์ ๋ชฉ์ ๊ฐฏ์์ max๊ฐ์ ๋น๊ตํด ๋น๋์๋ฅผ ๋ฐ๊ฟ์ง ์๋์ง ๋ณ๊ฒฝํ๋ฉด ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ์ฑ ์ด ์์ผ๋ฏ๋ก, ํ์ฌ ์ฑ ์ ๋ชฉ์ temp์ ์ ์ฅํ๊ณ , count๋ฅผ 1๋ก ์ด๊ธฐํํ๋ค.
๋ง์ง๋ง์ผ๋ก ๋ชจ๋ for๋ฌธ ํ์์ ๋๋ด๊ณ , ์นด์ดํธ๋ ์ฑ ์ ๋ชฉ์ ๊ฐฏ์๊ฐ max๋ณด๋ค ํฐ์ง ๋น๊ต๋ฅผ ํด์ผํ๋ค.
์ฑ ์ ๋ชฉ์ด a a a b b b b ์ธ ๊ฒฝ์ฐ, ๋ง์ง๋ง๊น์ง ์ฑ ์ ๋ชฉ์ด ๋์ผํ๊ฒ ๋๋ฌ์ผ๋ฏ๋ก for๋ฌธ์ ๋น ์ ธ๋์์๋ result = "a" ์ด๋ค.
ํ์ง๋ง a์ max๊ฐ์ 3 , for๋ฌธ์ ๋น ์ ธ๋์์๋์ count ๋ 4์ด๋ฏ๋ก ๊ฐ์ ๋ฐ๊พธ์ด ์ฃผ์ด์ผ ํ๋ค.
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 11718๋ฒ: ๊ทธ๋๋ก ์ถ๋ ฅํ๊ธฐ (0) | 2020.05.01 |
---|---|
[๋ฐฑ์ค] 5618๋ฒ: ๊ณต์ฝ์(์ํ) (0) | 2020.04.26 |
[๋ฐฑ์ค] 1940๋ฒ: ์ฃผ๋ชฝ(์ํ, ์ ๋ ฌ) (0) | 2020.04.23 |
[๋ฐฑ์ค] 9012๋ฒ: ๊ดํธ(์คํ) (0) | 2020.04.19 |
[๋ฐฑ์ค] 17608๋ฒ: ๋ง๋๊ธฐ(๊ตฌํ) (0) | 2020.04.10 |
๋๊ธ