์ต์, ์ต๋๊ฐ ๊ตฌํ๊ธฐ
๋ฉด์ ์ค๋น๋ฅผ ํ๋ฉด์ ์ ํ ์ ๋ ฌ๊ณผ ๋ฒ๋ธ ์ ๋ ฌ์ด ๋ฌธ์ ๋ก ๋์จ๋ค๊ณ ๋ค์ด์ ์ ํ ์ ๋ ฌ์ ๋ํด์ ๋จผ์ ๊ณต๋ถ๋ฅผ ํ๋ค. ์์ ์ ํ์๋ ๋ฌธ์ ์ง๋ง ๋ค์ ๋ค์ฌ๋ค๋ณด์ง ์์์ ๋ค ๊น๋จน์๋ค. ์ด์จ๋ , ๋๋ ์ด๋ฒ ๋ฌธ์ ๋ฅผ ์ ํ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ํ์ฉํด์ ๋ฌธ์ ๋ฅผ ํ์๋ค. ๊ทผ๋ฐ ๊ฒฐ๊ณผ๋ ๋ฐํ์ ์๋ฌ์๋ค.
-
๋ฐํ์ ์๋ฌ ์ฝ๋
import java.io.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int[] list = new int[n]; for (int i = 0; i < n; i++) { list[i] = Integer.parseInt(br.readLine()); } int min = list[0]; int max = list[0]; for (int i = 0; i < n; i++) { for (int k = i + 1; k < n; k++) { boolean minCheck = min > list[k]; boolean maxCheck = max < list[k]; if (minCheck) min = list[k]; if (maxCheck) max = list[k]; } } System.out.println(min + " " + max); } }
๋ถ๋ช
IDE์์๋ ์ฃผ์ด์ง ์์ ์ ์
๋ ฅ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์์ ๋ ๋์ผํ ๊ฒฐ๊ณผ๊ฐ ์ถ๋ ฅ๋๋๋ฐ, ์ ์ ์ถํ๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํด์ ์ฑ์ ์กฐ์ฐจ ์๋๋์ง ์ ์๊ฐ ์์๋ค.
๋๊ฐ์ ์ฝ๋๋ฅผ ํ์๋ง ๋ฐ๊ฟ์ 10๋ฒ ์ ๋ ๋ค์ ๋ฃ์ด ๋ด๋ ๊ฒฐ๊ณผ๋ ๋๊ฐ์๋ค.
BufferReader
์ด๋ฒ ์ฝ๋๋ Scannerํด๋์ค๋ฅผ ์ฌ์ฉํ์ง ์๊ณ BufferReaderํด๋์ค๋ฅผ ์ฌ์ฉํ๋ค.
๊ณฐ๊ณฐ์ด ์๊ฐํ์ ๋, ๋ด๊ฐ ์ ์ถํ ์ ์๋ ๋ฐํ์ ์๋ฌ์ ์ด์ ๋ ๋ฐ๋ก ์ด๊ฑฐ๋ค.
์ ๋ ฅ ์์ ๋ฅผ ๋ถ์ฌ ๋ฃ์์ ๋ ์๋ฌ๊ฐ ๋ฐ์ํ๋ ์ด์ ๋ ์ฑ์ ์, ์ฝ์ ํ๋ ๋ฐ์ดํฐ๊ฐ ๋ด ์ฝ๋์ ๋ง์ง ์๊ธฐ ๋๋ฌธ์ด๋ค!
์ฝ๋์์ BufferReader์ ๋ฉ์๋ ์ค readLine() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ ค ์ ๋ ฅ ์์ ๋ฅผ ๋ฐ์๋๋ฐ, ํด๋น ๋ฉ์๋๋ ํ ์ค๋ก ์ ๋ ฅํ ๋ฐ์ดํฐ๋ฅผ ๋ฌธ์์ด๋ก ๋ฐ๊ณ , ์ด๋ฅผ Integer๋ก ๋ณํํ๋ ๊ณผ์ ์์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ ๊ฒ ๊ฐ๋ค. ์ฆ, ๋์ด์ฐ๊ธฐ๋งํผ ๋ฌธ์์ด์ ์๋ผ๋ด๊ณ , ์ด๋ฅผ ๊ธฐ๋ณธ ์๋ฃํ์ผ๋ก ๋ฐ๊ฟ์ผ ํ๋ค.
Scanner๋ฅผ ์ฌ์ฉํ๋๋ผ๋ฉด, next() ๋ฉ์๋๋ฅผ ์ฌ์ฉํด ๋์ด์ฐ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ๋๋๋ฉด ๋๋๋ฐ, BufferReader๋ ๊ทธ๊ฒ ์๋๋ ๊ฒ ๊ฐ์๋ค.
(์๋ง ๋ ํ๋ช
ํ ๋ฐฉ๋ฒ์ด ์์์ง๋..)
ํ์ง๋ง ๋๋ Scanner๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ง ์์๋๋ฐ, ๋ฌด์๋ณด๋ค BufferReader๋ฅผ ์ฌ์ฉํ์ ๋ ๋ก์ง์ ํด๊ฒฐํ๋ ๋ฐํ์ ์๊ฐ์ด ๊ต์ฅํ ์ค์๊ธฐ ๋๋ฌธ์ด๋ค.(๋ค๋ฅธ ์ฌ๋๋ค ์ฝ๋๋ฅผ ๋ณด๋ ๊ทธ๋ฌํ๋ค.)
๊ทธ๋ฌํ ์ด์ ๋ก BufferReader๋ฅผ ์ ํ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ด ๋ญ๊ฐ ์์๊น ๊ฒ์ํ๋ค.
StringTokenizer
๊ตฌ๊ธ ๊ฒ์์ด๋ ๋ง์ ์ฌ๋๋ค ์ฝ๋๋ฅผ ํ์ธํด๋ณด๋ StringTokenizer๋ผ๋ ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ค. ์ด ํด๋์ค๋ ๋ฌธ์์ด์ ํน์ ๊ตฌ๋ถ์๋ฅผ ์ง์ ํ๊ณ , ์ด๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ์๋ผ๋ด๊ณ , ์์ฑ์๋ฅผ ์ ์ธํ ๋ณ์์ ์ ์ฅํ๋ค. ํด๋น ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ฉด
- ์ต์, ์ต๋๊ฐ์ ๊ฒ์ฌํ ์ ์๋ฅผ ์ ๋ ฅ ๋ฐ๋๋ค.
- ์ ๋ ฅ ๋ฐ์ ์ ์๋ฅผ ์ผ์ผ์ด ๊ฒ์ฌํ๋ค.
์ด ๊ณผ์ ์ด ์ค์ด๋ค์ด ์
๋ ฅ ๋ฐ๋ ๋์์ ์ต์, ์ต๋๊ฐ ๊ฒ์ฌ๊ฐ ๊ฐ๋ฅํ๋ค.
๋ํ, ํด๋น ํด๋์ค๋ Set ์๋ฃ๊ตฌ์กฐ๋ฅผ ์์ฉํด์ ์๋ํ๋ ๊ฒ ๊ฐ์๋ค.
์๋ํ๋ฉด ์ฒ์ DAO, DTO์ ๋ํ ๊ฐ๋
์ ๋ฐฐ์ธ ๋ ResultSet์ด๋ผ๋ ํด๋์ค๋ฅผ ์ด์ฉํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๊ณ , next() ๋ฉ์๋๋ฅผ ์ด์ฉํด ๋ฐ์ ์ฌ Rownum ๊ฐ์๋งํผ while๋ฌธ์ ๋๋ฆฌ๋ ๊ฒ์ด ๋ ์ฌ๋๊ธฐ ๋๋ฌธ์ด๋ค.
-
BufferReader + StringTokenizer๋ฅผ ์ฌ์ฉํ ์ฝ๋
import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Integer.parseInt(br.readLine()); // ๋ฐฐ์ด์ ๊ธธ์ด StringTokenizer st = new StringTokenizer(br.readLine(), " "); int min = 1000001; int max = -1000001; while (st.hasMoreTokens()) { int value = Integer.parseInt(st.nextToken()); if (max < value) max = value; if (min > value) min = value; } System.out.println(min + " " + max); } }
์์ ์ฝ๋๋ฅผ ๋ณด๋ฉด ์ ์ ์๋ฏ, ์
๋ ฅ ๋ฐ์ ๋ฌธ์์ด์ ๋ฐ๋ณต๋ฌธ ์์์ int๋ก ์ฌ์ ์ํ๋ค. ๋ํ, max์ min๋ณ์๋ฅผ ๋ง๋ค์ด, ๋
ผ๋ฆฌ๊ฐ์ด true์ธ ๊ฒฝ์ฐ์ ๊ฐ ๋ณ์์ ๋ฐ์ดํฐ๊ฐ ํ์ฌ์ value๊ฐ์ด ๋๋ ๊ตฌ์กฐ๋ก ๋ง๋ค์๋ค.
(์ฌ์ค StringTokenizer๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ํ๋ค ๋ณด๋ ๋ค๋ฅธ ์ฌ๋์ด ์ง ์ฝ๋๋ฅผ ๋ณผ ์ ๋ฐ์ ์์๋ค..์ฐ๋ ์ฑํ..๐)
๋ง๋ฌด๋ฆฌ
์์ฃผ ์์ ์ ์ด ๋ฌธ์ ๋ฅผ ํผ ์ ์ด ์๋๋ฐ, ๊ทธ ๋๋ ์๊ณ ๋ฆฌ์ฆ์ด ๋ญ์ง ๋ฌธ์ ๋ ์ด๋ป๊ฒ ํ์ด์ผ ํ ์ง๋ ๋ชฐ๋ผ์ ์ดํดํ์ง๋ ๋ชปํ ๋จ์ ์ฝ๋ ๊ฐ๋ค ๋ถ์ฌ ๋ฃ์ด์ ๋ง์ ๊ธฐ๋ก์ด ์๋ค. ์ด๋ฒ์๋ ๊ทธ๋ฌ๊ณ ์ถ์ง ์์์ง๋ง ์๋์น ์๊ฒ(?) ์ด๋ฐ ์ํฉ์ด ๋ ์ ์กฐ๊ธ ์์ํ๋ค. ๊ทธ๋๋ ๊ทธ ๋์๋ ๋ฌ๋ฆฌ ์ฝ๋ ์์ฒด๊ฐ ์ดํด๊ฐ ๋๊ณ , ๋ฐ๋ก ๊ฒ์ํ์ง ์์๋ ๋ด๊ฐ ๋ชจ๋ฅด๋ ํด๋์ค๋ฅผ ์ ์ด๋ ๊ฒ ์ฌ์ฉํ๋์ง ์ฝํ๊ณ ์๋ค.
์ด์จ๋ , ์์ ์ ์ ์ถํ๋ ์ฝ๋์ ์ง๊ธ ์ ์ถํ ์ฝ๋์ ๋น๊ต๋ฅผ ํ๋ฉด
- ๊ณผ๊ฑฐ
- ListArray ํด๋์ค ์์ ์ต์,์ต๋๊ฐ์ ๊ตฌํด ์ฃผ๋ ๋ฉ์๋๊ฐ ์๊ณ , ํด๋น ๋ฉ์๋๋ฅผ ์ฌ์ฉ.
- Scanner ํด๋์ค๋ฅผ ์ฌ์ฉํจ.
- ๊ทธ๋์ ๋ฐํ์์ด ์ค๋ ๊ฑธ๋ฆผ.
- ํ์ฌ
- List์ ํ์ ํด๋์ค๋ ์ฌ์ฉํ์ง ์์.
- Scanner๋์ BufferReader + StringTokenizer ์ฌ์ฉ.
- ๋ฐํ์์ด ํ์คํ ์ค์ด๋ฌ.
์ด๋ฐ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ ์ ์๋ค.
์ต๋ํ ์ ํ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ํ์ฉํด์ ํ์๋ค๋ฉด ์ข์์ ๊ฒ ๊ฐ์๋ฐ, ๋งํ Scanner๋๋ฌธ์ ๋ค๋ฅธ ์ฌ๋ ์ฝ๋๋ ์กฐ๊ธ ํ์ณ๋ดค๋ค. ์์ผ๋ก๋ ๊ทธ๋ฌ์ง ๋ง์์ผ์ง..
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค 5585 | ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ, ๊ฑฐ์ค๋ฆ ๋ (0) | 2020.10.18 |
---|---|
๋ฐฑ์ค 7568 | ๋ธ๋ฃจํธ ํฌ์ค ์๊ณ ๋ฆฌ์ฆ, ๋ฉ์น (0) | 2020.10.18 |
๋ฐฑ์ค 1874 | ์คํ ์์ด (0) | 2020.10.16 |
๋ณ ์ฐ๊ธฐ (0) | 2020.09.29 |
Prime / Composite | ์์์ ํฉ์ฑ์ (0) | 2020.08.02 |