Hamutaro - Hamtaro 4

Algorithm 45

[LV1/JAVA] ์ฝœ๋ผ์ธ  ์ถ”์ธก

https://school.programmers.co.kr/learn/courses/30/lessons/12943 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr  1. while ๋ฌธ์„ ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ œํ•œ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉด break ๋ฌธ์œผ๋กœ ๋ฐ˜๋ณต๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐ€์•ผ ํ•œ๋‹ค2. ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ๋ฐœ์ƒ์„ ๋ฐฉ์ง€ํ•ด์„œ ์• ์ดˆ์— num์˜ ์ž๋ฃŒํ˜•์„ longํ˜•์œผ๋กœ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค ๋‚ด ํ’€์ดclass Solution { public int solution(int num) { int answer = 0; while(num!=1){ ..

[Bronze III/JAVA] 10818 ์ตœ์†Œ, ์ตœ๋Œ€

https://www.acmicpc.net/problem/10818   1. ์ฑ„์ ์€ ํ†ต๊ณผํ–ˆ์ง€๋งŒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ต‰์žฅํžˆ ๋งŽ์ด ๋‚ญ๋น„ํ•˜๋Š” ์ฝ”๋“œ์˜€๋‹ค2. Arrays.sort()๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ ๋‚ญ๋น„๋„ ์ค„์ด๊ณ  ๋” ๊ฐ„๊ฒฐํ•œ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค3. Arrays๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด import ํ•ด์ฃผ๋Š” ๊ฒƒ๋„ ์žŠ์ง€๋ง์ž  ๋‚ด ํ’€์ดimport java.util.*;class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] arr = new int[n]; int max = -1000000; int min = 1000000; ..

Algorithm/BOJ 2024.08.19

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] ์‹œ์ € ์•”ํ˜ธ

https://school.programmers.co.kr/learn/courses/30/lessons/12926 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ์ผ๋‹จ ๋ฌธ์ž์—ด์„ ๋ถ„๋ฆฌํ•ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์€ ํ–ˆ๋Š”๋ฐ ์–ด๋–ค์‹์œผ๋กœ ๋ถ„๋ฆฌํ•ด์•ผํ• ์ง€ ๊ฐ์ด ์•ˆ์˜ด ์•ŒํŒŒ๋ฒณ์„ ๋ณด๊ณ  ์•„์Šคํ‚ค์ฝ”๋“œ๊ฐ€ ํ•„์š”ํ•˜๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์„ ํ–ˆ๋‹ค. ์˜ˆ์ „์—๋„ ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ charAt()ํ•จ์ˆ˜๋ฅผ ์“ด ์ ์ด ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™์€๋ฐ, ๊ทธ๋•Œ ํ™•์‹คํžˆ ์ •๋ฆฌํ•˜์ง€ ๋ชปํ–ˆ๋‚˜๋ณด๋‹ค. ๋ฌธ์ œ๋ฅผ ํ’€ ๋• ์ƒ๊ฐ์ด ์•ˆ๋‚ฌ์Œ โœ… 1. charAt() -> String์œผ๋กœ ์ €์žฅ๋œ ๋ฌธ์ž์—ด ์ค‘, ํ•œ๊ธ€์ž๋งŒ ์„ ํƒํ•˜์—ฌ charํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ 2. ์•„์Šคํ‚ค์ฝ”๋“œ๊ฐ’ -> A-..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] ์ž์—ฐ์ˆ˜ ๋’ค์ง‘์–ด ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค๊ธฐ

https://programmers.co.kr/learn/courses/30/lessons/12932 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ž์—ฐ์ˆ˜ ๋’ค์ง‘์–ด ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค๊ธฐ ์ž์—ฐ์ˆ˜ n์„ ๋’ค์ง‘์–ด ๊ฐ ์ž๋ฆฌ ์ˆซ์ž๋ฅผ ์›์†Œ๋กœ ๊ฐ€์ง€๋Š” ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ๋ฆฌํ„ดํ•ด์ฃผ์„ธ์š”. ์˜ˆ๋ฅผ๋“ค์–ด n์ด 12345์ด๋ฉด [5,4,3,2,1]์„ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค. ์ œํ•œ ์กฐ๊ฑด n์€ 10,000,000,000์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ n return 12345 programmers.co.kr 1. ์šฐ์„  charํ˜• ๋ฐฐ์—ด์— ๋„ฃ๊ธฐ ์œ„ํ•ด์„œ Stringํ˜•์œผ๋กœ ๋ณ€ํ™˜ 2. Integer.parseInt๋กœ charํ˜• ๋ฐฐ์—ด์„ intํ˜• ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜, ์—ญ์ˆœ์œผ๋กœ ์ €์žฅ -> ๋นˆ๋ฌธ์ž์—ด "" ๋”ํ•ด์•ผ ํ•จ class Solution { public int[] solution(long n) { //๋ฐฐ์—ด์— ๋„ฃ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] ์ •์ˆ˜ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๋ฐฐ์น˜ํ•˜๊ธฐ

https://programmers.co.kr/learn/courses/30/lessons/12933 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ •์ˆ˜ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๋ฐฐ์น˜ํ•˜๊ธฐํ•จ์ˆ˜ solution์€ ์ •์ˆ˜ n์„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ž…๋ ฅ๋ฐ›์Šต๋‹ˆ๋‹ค. n์˜ ๊ฐ ์ž๋ฆฟ์ˆ˜๋ฅผ ํฐ๊ฒƒ๋ถ€ํ„ฐ ์ž‘์€ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ์ƒˆ๋กœ์šด ์ •์ˆ˜๋ฅผ ๋ฆฌํ„ดํ•ด์ฃผ์„ธ์š”. ์˜ˆ๋ฅผ๋“ค์–ด n์ด 118372๋ฉด 873211์„ ๋ฆฌํ„ดํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ œํ•œ ์กฐ๊ฑด n์€ 1์ดprogrammers.co.kr  ์ƒ๊ฐ๋ณด๋‹ค ์–ด๋ ค์› ๋˜ ๋‚ด๋ฆผ์ฐจ์ˆœ ๋ฐฐ์น˜ 1. ์ •์ˆ˜ n์„ String์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ charํ˜• ๋ฐฐ์—ด์— ๋‹ด์Œ2. sort ๋ฉ”์„œ๋“œ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ(๊ธฐ๋ณธ๊ฐ’)3. ์—ญ์ˆœ์œผ๋กœ ์ถœ๋ ฅ4. ๋‹ค์‹œ longํ˜• ๋ณ€์ˆ˜๋กœ ๋ณ€ํ™˜ import java.util.Arrays;class Solution { public long solution(long ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] ํ•ธ๋“œํฐ ๋ฒˆํ˜ธ ๊ฐ€๋ฆฌ๊ธฐ

https://programmers.co.kr/learn/courses/30/lessons/12948 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ํ•ธ๋“œํฐ ๋ฒˆํ˜ธ ๊ฐ€๋ฆฌ๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ชจ๋ฐ”์ผ์€ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ๋ฅผ ์œ„ํ•ด ๊ณ ์ง€์„œ๋ฅผ ๋ณด๋‚ผ ๋•Œ ๊ณ ๊ฐ๋“ค์˜ ์ „ํ™”๋ฒˆํ˜ธ์˜ ์ผ๋ถ€๋ฅผ ๊ฐ€๋ฆฝ๋‹ˆ๋‹ค. ์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ ๋ฌธ์ž์—ด phone_number๋กœ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ „ํ™”๋ฒˆํ˜ธ์˜ ๋’ท 4์ž๋ฆฌ๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ์ˆซ์ž programmers.co.kr phone_number์˜ ๊ธธ์ด๋งŒํผ ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฆฌ๊ณ  ๊ทธ ์•ˆ์—์„œ ๋’ท์ž๋ฆฌ ๋„ค ์ž๋ฆฌ๋ฅผ ์ œ์™ธํ•œ(phone_number.length()-4) ๋ฒˆํ˜ธ๋ฅผ ๋ฌธ์ž์—ด * ๋กœ ์ฒ˜๋ฆฌ ๋งˆ์ง€๋ง‰ ๋„ค ์ž๋ฆฌ๋Š” charAt์„ ์ด์šฉํ•ด์„œ answer์— ๋„ฃ๋Š”๋‹ค. class Solution { public String solution(String phone_number) { Str..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] ์ œ์ผ ์ž‘์€ ์ˆ˜ ์ œ๊ฑฐํ•˜๊ธฐ

https://programmers.co.kr/learn/courses/30/lessons/12935 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ œ์ผ ์ž‘์€ ์ˆ˜ ์ œ๊ฑฐํ•˜๊ธฐ ์ •์ˆ˜๋ฅผ ์ €์žฅํ•œ ๋ฐฐ์—ด, arr ์—์„œ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜๋ฅผ ์ œ๊ฑฐํ•œ ๋ฐฐ์—ด์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ๋‹จ, ๋ฆฌํ„ดํ•˜๋ ค๋Š” ๋ฐฐ์—ด์ด ๋นˆ ๋ฐฐ์—ด์ธ ๊ฒฝ์šฐ์—” ๋ฐฐ์—ด์— -1์„ ์ฑ„์›Œ ๋ฆฌํ„ดํ•˜์„ธ์š”. ์˜ˆ๋ฅผ๋“ค์–ด arr์ด [4,3,2,1 programmers.co.kr ์ œ์ผ ์ž‘์€ ์›์†Œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ๋ฐฐ์—ด์„ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ ์ž…์ถœ๋ ฅ ์˜ˆ๋ฅผ ๋ณด๋ฉด ์›์†Œ๊ฐ€ 1๊ฐœ์ธ ๊ฒฝ์šฐ๋Š” -1์„ ๋ฆฌํ„ดํ•œ๋‹ค. ์ œํ•œ์กฐ๊ฑด์„ ๋ณด๋ฉด ์›์†Œ๊ฐ€ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ์—†๋‹ค. ๋ฐฐ์—ด์€ ์›์†Œ ์‚ญ์ œ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ตœ์†Œ๊ฐ’์„ ์ œ์™ธํ•œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•œ๋‹ค. class Solution { public int[] solution(int[] arr)..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] ์ •์ˆ˜ ์ œ๊ณฑ๊ทผ ํŒ๋ณ„

https://programmers.co.kr/learn/courses/30/lessons/12934 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ •์ˆ˜ ์ œ๊ณฑ๊ทผ ํŒ๋ณ„ ์ž„์˜์˜ ์–‘์˜ ์ •์ˆ˜ n์— ๋Œ€ํ•ด, n์ด ์–ด๋–ค ์–‘์˜ ์ •์ˆ˜ x์˜ ์ œ๊ณฑ์ธ์ง€ ์•„๋‹Œ์ง€ ํŒ๋‹จํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. n์ด ์–‘์˜ ์ •์ˆ˜ x์˜ ์ œ๊ณฑ์ด๋ผ๋ฉด x+1์˜ ์ œ๊ณฑ์„ ๋ฆฌํ„ดํ•˜๊ณ , n์ด ์–‘์˜ ์ •์ˆ˜ x์˜ ์ œ๊ณฑ์ด ์•„๋‹ˆ๋ผ๋ฉด -1์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ programmers.co.kr n์ด ์–‘์˜ ์ •์ˆ˜ x์˜ ์ œ๊ณฑ์ด๋ผ๋ฉด (x+1)^2 ์„ ๋ฆฌํ„ดํ•˜๊ณ , ์•„๋‹ˆ๋ผ๋ฉด -1์„ ๋ฆฌํ„ดํ•˜๋Š” ๋ฌธ์ œ๋‹ค. ์ฒ˜์Œ์— Math ํด๋ž˜์Šค๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ํ’€์—ˆ๋”๋‹ˆ ๋ช‡๊ฐœ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์—์„œ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋–ด๋‹ค. ๋‘ ๊ฐ€์ง€ ๋ฉ”์†Œ๋“œ๋ฅผ ์•Œ๊ณ  ์žˆ์œผ๋ฉด ๊ฐ„๋‹จํ•˜๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋‹ค. * ์ œ๊ณฑํ•˜๊ธฐ : Math.pow(double a, double n) * ์ œ๊ณฑ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] ๊ฐ™์€ ์ˆซ์ž๋Š” ์‹ซ์–ด

https://programmers.co.kr/learn/courses/30/lessons/12906 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๊ฐ™์€ ์ˆซ์ž๋Š” ์‹ซ์–ด๋ฐฐ์—ด arr๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ๋ฐฐ์—ด arr์˜ ๊ฐ ์›์†Œ๋Š” ์ˆซ์ž 0๋ถ€ํ„ฐ 9๊นŒ์ง€๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ, ๋ฐฐ์—ด arr์—์„œ ์—ฐ์†์ ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ์ˆซ์ž๋Š” ํ•˜๋‚˜๋งŒ ๋‚จ๊ธฐ๊ณ  ์ „๋ถ€ ์ œ๊ฑฐํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, ์ œ๊ฑฐ๋œ ํ›„ ๋‚จ์€programmers.co.kr   ๋ฌธ์ œ ์„ค๋ช…์ด ๊ธธ์ง€๋งŒ ๋ฐฐ์—ด์˜ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.ArrayList๋ฅผ ์ด์šฉํ•ด์„œ ์›์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•ด์„œ ํ’€์—ˆ๋‹ค. ๋งจ ์ฒ˜์Œ์— ํ’€์—ˆ์„ ๋•Œ๋Š” num์ด๋ผ๋Š” ๋ณ€์ˆ˜์—†์ด if(!list.contains(arr[i])) ~ ์ด๋Ÿฐ์‹์œผ๋กœ ํ’€์—ˆ๋”๋‹ˆ ๊ณ„์† ํ‹€๋ ธ์—ˆ๋‹ค. ๋ฌธ์ œ์—์„œ ์›์†Œ์˜ ํฌ๊ธฐ๋Š” 0~9๊นŒ์ง€๋ผ๊ณ  ํ–ˆ์œผ๋‹ˆ๊นŒ ์ ˆ๋Œ€ ์›์†Œ๊ฐ€ ๋  ์ผ ์—†๋Š” 1..

[๋ฐฑ์ค€/JAVA] 10828 ์Šคํƒ

https://www.acmicpc.net/problem/10828 10828๋ฒˆ: ์Šคํƒ ์ฒซ์งธ ์ค„์— ์ฃผ์–ด์ง€๋Š” ๋ช…๋ น์˜ ์ˆ˜ N (1 ≤ N ≤ 10,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ๋ช…๋ น์ด ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ์ •์ˆ˜๋Š” 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 100,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ๋ฌธ์ œ์— ๋‚˜์™€์žˆ์ง€ www.acmicpc.net ๋‹จ์ˆœ ์Šคํƒ ๊ตฌํ˜„ ๋ฌธ์ œ๋ผ ๊ฐ„๋‹จํ• ์ค„ ์•Œ์•˜๋Š”๋ฐ... ์ž๊พธ ์‹œ๊ฐ„์ดˆ๊ณผ / ๋Ÿฐํƒ€์ž„์—๋Ÿฌ๊ฐ€ ๋–ด๋‹ค import java.util.Stack; public class bj_10828 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); Stack stack = new S..

Algorithm/BOJ 2021.11.12