Tags
- Brute Force Algorithm
- Java
- queue
- CodingTest
- stack
- greedy
- sort
- ์ ์๋ก
- ๊ทธ๋ํ ํ์
- LV2
- ๋๋น ์ฐ์ ํ์
- Python
- BOJ
- BFS
- DP
- ์๋ฎฌ๋ ์ด์
- ๊ตฌํ
- ์ ๋ ฌ
- ๋ฐฑํธ๋ํน
- ์๋ฃ๊ตฌ์กฐ
- ์ํ
- Study
- SpringBoot
- dfs
- ๊ทธ๋ํ ์ด๋ก
- ๊ต์ฌ
- PGM
- Dynamic Programming
- ๊น์ด ์ฐ์ ํ์
- ๋ฌธ์์ด
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_1384 : ๋ฉ์์ง ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ์ธ์์ n์ด ์ ๋ ฅ๋๋ค.
- ์ผ์ชฝ์ผ๋ก ๋๊ธฐ๋ ๋กค๋งํ์ดํผ ํ ๊ธ์ ๋ฉ์์ง์ ๋ถ์ ๋ฉ์์ง ๊ฒฐ๊ณผ๊ฐ ์ ๋ ฅ๋๋ค.
- ๊ทธ๋ฃน๋ง๋ค ๋๊ฐ ๋๊ตฌ์๊ฒ ๋ถ์ ๋ฉ์์ง๋ฅผ ์ ์๋์ง ์ถ๋ ฅํ๋ค.
- n์ผ๋ก 0์ด ์ ๋ ฅ๋ ๋๊น์ง ๋ฐ๋ณตํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int count = 0;
while (n > 0){
String name[] = new String[n];
ArrayList<Integer>[] nasty = new ArrayList[n];
for (int i = 0; i < n; i++)
nasty[i] = new ArrayList<Integer>();
for (int i = 0; i < n; i++) {
st = new StringTokenizer(br.readLine());
name[i] = st.nextToken();
for (int j = 1; j <= n-1; j++){
String write = st.nextToken();
if (write.compareTo("N") == 0){
nasty[i].add(((n+(i-j))%n));
}
}
}
System.out.println("Group " + ++count);
boolean flag = true;
for (int i = 0; i < n; i++) {
for (int j = 0; j < nasty[i].size(); j++){
System.out.println(name[nasty[i].get(j)] + " was nasty about " + name[i]);
flag = false;
}
}
if (flag)
System.out.println("Nobody was nasty");
st = new StringTokenizer(br.readLine());
n = Integer.parseInt(st.nextToken());
if (n>0)
System.out.println("");
}
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- n์ด 0์ด ์ ๋ ฅ๋ ๋ ๊น์ง while๋ฌธ์ผ๋ก ๋ฐ๋ณตํ๋ค.
- ๋กค๋งํ์ดํผ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๊ธฐ ์ํด ArrayList<Integer> ๋ฐฐ์ด์ ์ ์ธํ๋ค. (2์ค ๋ฐฐ์ด)
- i์๊ฒ ๋ถ์ ๋ฉ์์ง๋ฅผ ์ ์ j๋ฅผ nasty[i].add(j) ๋ก ์ ์ฅํ๋ค.
- ์ข
์ด๋ฅผ ๋๋ฆฌ๋ ๋ฐฉ์์์ ์ธ๋ฑ์ค๊ฐ ๋ฒ์ด๋๋ ๊ฒ ์ ๋ฐฉ์งํ๊ธฐ ์ํด (n+(i-j)))%n์ผ๋ก ๊ณ์ฐํ๋ค.
- i-j๋ก ์ธ๋ฑ์ค ์ฐจ์ด๋ฅผ ๊ตฌํ๋ค.
- ์์๊ฐ ๋์ฌ ์ ์์ผ๋ฏ๋ก n์์ ๋นผ์ค๋ค.
- ์์๊ฐ ๋์ฌ ์ ์์ผ๋ฏ๋ก n์ผ๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ฌ์ฉํ๋ค.
- ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค.
- ๊ทธ๋ฃน ์ค๊ฐ์ ๊ณต๋ฐฑ์ ๋ฃ๋๋ค.
๐ธ end ๐ธ
- ๋ฉ์์ง ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ArrayLIst ๋ฐฐ์ด์ ์ฒ์ ์ฌ์ฉํด๋ด์ ์ ๋ฆฌ ํฌ์คํ
์ ์ฐพ์๋ณด์๋ค.
- ์ฌ์ฉ ๋ฐฉ์์ด ์๊ฐ๋ณด๋ค ํธํ ๊ฒ ๊ฐ๋ค.
- ์ด๊ธฐํ๋ฅผ ํ์ง์์์ ์ค๋ฅ๊ฐ ๋ฌ์๋ค.
- ์ถ๋ ฅ ํ์์ ๊ทธ๋ฅ ๊ทธ๋ฃน๋ง๋ค ๊ณต๋ฐฑ๋ง ์์ผ๋ฉด ๋ ์ค ์์๋๋ฐ ์ ํํ ๋ง์ถฐ์ผํด์ ๋ช ๋ฒ ํ๋ ธ๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_2018 : ์๋ค์ ํฉ 5 (0) | 2022.09.24 |
---|---|
BOJ_10986 : ๋๋จธ์ง ํฉ (0) | 2022.09.23 |
BOJ_11669 : ๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ 5 (0) | 2022.09.22 |
BOJ_1380 : ๊ท๊ฑธ์ด (0) | 2022.09.22 |
BOJ_1343 : ํด๋ฆฌ์ค๋ฏธ๋ ธ (0) | 2022.09.21 |