Hamutaro - Hamtaro 4

Algorithm/Programmers 19

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/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] ๋ฌธ์ž์—ด ๋‹ค๋ฃจ๊ธฐ ๊ธฐ๋ณธ

์ˆซ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋์œผ๋ฉด true ๋ฆฌํ„ดํ•˜๋Š” ๋ฌธ์ œ class Solution { public boolean solution(String s) { boolean answer = true; int len = s.length(); //๊ธธ์ด๊ฐ€ 4 ํ˜น์€ 6 -> 4๋‚˜ 6์ด ์•„๋‹Œ๊ฒƒ์„ ๋ฐฐ์ œ์‹œํ‚ด if(len !=4 && len !=6){ return false; } //๋ฌธ์ž์—ด ๊ธธ์ด๋งŒํผ ๋ฐ˜๋ณต๋ฌธ ๋Œ๋ ค์„œ ํ™•์ธ for(int i=0; i

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] x๋งŒํผ ๊ฐ„๊ฒฉ์ด ์žˆ๋Š” n๊ฐœ์˜ ์ˆซ์ž

ํฌ๊ธฐ๊ฐ€ n์ธ long ํƒ€์ž… ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•œ ๋’ค ๋ฐฐ์—ด ๊ธธ์ด๋งŒํผ ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฆฌ๋ฉด ๋˜๋Š” ๋ฌธ์ œ ๋ˆ„์ ํ•ฉ์„ ์ €์žฅํ•  ๋ณ€์ˆ˜๊ฐ€ ํ•˜๋‚˜ ํ•„์š”ํ•œ๋ฐ, ์ž…์ถœ๋ ฅ ์˜ˆ๋ฅผ ๋ณด๋ฉด ์Œ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— longํƒ€์ž…์œผ๋กœ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค. class Solution { public long[] solution(int x, int n) { long[] answer = new long[n]; long sum = x; for(int i=0; i

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] ๋ฌธ์ž์—ด ๋‚ด p์™€ y์˜ ๊ฐœ์ˆ˜

charAt ์„ ์‚ฌ์šฉํ•ด์„œ p or P๋ฉด count ์ฆ๊ฐ€, y or Y๋ฉด count ๊ฐ์†Œ์‹œ์ผœ์„œ count๊ฐ€ 0์ด๋ฉด true, 0์ด ์•„๋‹ˆ๋ฉด false๋ฅผ ๋ฆฌํ„ดํ–ˆ๋‹ค. class Solution { boolean solution(String s) { boolean answer = true; int count=0; for(int i=0; i

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

n์ด ์ง์ˆ˜๋ฉด ์ˆ˜๋ฐ• or ์ˆ˜๋ฐ•์ˆ˜๋ฐ• or ์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ• ... ์ด๋ ‡๊ฒŒ ๋”ฑ ๋–จ์–ด์ง€๊ฒŒ ์ถœ๋ ฅํ•˜๋ฉด ๋˜๊ณ  ํ™€์ˆ˜๋ฉด ์ˆ˜๋ฐ•์ˆ˜ or ์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜ or ์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜ ... ์ด๋ ‡๊ฒŒ ์ถœ๋ ฅํ•˜๋ฉด ๋˜๋Š” ๋ฌธ์ œ n์„ 2๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋กœ ์ง, ํ™€ case๋ฅผ ๋‚˜๋ˆ ์„œ ์ƒ๊ฐํ–ˆ๋‹ค. ์ง์ˆ˜๋Š” "์ˆ˜๋ฐ•" ๋‹จ์œ„๋กœ ์ถœ๋ ฅํ•˜๊ณ  ํ™€์ˆ˜๋Š” "์ˆ˜๋ฐ•" ๋‹จ์œ„ ์ถœ๋ ฅ์— "์ˆ˜" ๋ฅผ ๋”ํ•ด์คฌ๋‹ค. for๋ฌธ์„ ๋‘๊ฐœ๋‚˜ ๋งŒ๋“ ๊ฒƒ์—์„œ ์•„๋‹ˆ๋‹ค์‹ถ์—ˆ์ง€๋งŒ ์ผ๋‹จ ๊ทธ๋ƒฅ ์ฒ˜์Œ ์ƒ๊ฐํ•œ๋Œ€๋กœ ํ’€์—ˆ๋‹ค. class Solution { public String solution(int n) { String answer = ""; if(n%2==0){ for(int i=0; i

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] ๊ฐ€์šด๋ฐ ๊ธ€์ž ๊ฐ€์ ธ์˜ค๊ธฐ

๋ฌธ์ž์—ด ์ถ”์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•˜๊ณ ์ž ๊ธฐ๋ก ๋ฌธ์ž์—ด ์ถ”์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” 3๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. substring substring(int a1) : a1๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋ฐ˜ํ™˜ substring(int a1, int a2) : a1~a2 ์ „๊นŒ์ง€ ๋ฐ˜ํ™˜ indexOf indexOf(int n/String str) : n์ด๋‚˜ str์ด ์žˆ๋Š” ์ธ๋ฑ์Šค ๋ฐ˜ํ™˜ charAt charAt(int n) : n๋ฒˆ์งธ ์œ„์น˜์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ class Solution { public String solution(String s) { String answer = ""; if(s.length() % 2 == 0){ //์ง์ˆ˜ answer = s.substring(s.length()/2-1, s.length()/2+1); }else{ answer = s...