Algorithm

    [JAVA] ๋ฐฑ์ค€ 2143๋ฒˆ ใ€G3.๋‘ ๋ฐฐ์—ด์˜ ํ•ฉใ€‘

    ๋ฌธ์ œ 2143๋ฒˆ: ๋‘ ๋ฐฐ์—ด์˜ ํ•ฉ ์ฒซ์งธ ์ค„์— T(-1,000,000,000 ≤ T ≤ 1,000,000,000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ ์ค„์—๋Š” n(1 ≤ n ≤ 1,000)์ด ์ฃผ์–ด์ง€๊ณ , ๊ทธ ๋‹ค์Œ ์ค„์— n๊ฐœ์˜ ์ •์ˆ˜๋กœ A[1], …, A[n]์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ ์ค„์—๋Š” m(1 ≤ m ≤ 1,000)์ด ์ฃผ์–ด์ง€๊ณ , ๊ทธ www.acmicpc.net ํ’€์ด ๊ฐ ๋ฐฐ์—ด์˜ ๋ถ€๋ถ„ํ•ฉ์„ ์ „๋ถ€ ๊ตฌํ•œ๋‹ค. List sumsA = new ArrayList(); n = Integer.parseInt(br.readLine()); A = Arrays.stream(br.readLine().split(" ")).mapToLong(Long::valueOf).toArray(); for (int i = 0; i < n; i++) { long res = 0;..

    [JAVA] ๋ฐฑ์ค€ 18869๋ฒˆ ใ€G5.๋ฉ€ํ‹ฐ๋ฒ„์Šค โ…กใ€‘

    ๋ฌธ์ œ 18869๋ฒˆ: ๋ฉ€ํ‹ฐ๋ฒ„์Šค โ…ก M๊ฐœ์˜ ์šฐ์ฃผ๊ฐ€ ์žˆ๊ณ , ๊ฐ ์šฐ์ฃผ์—๋Š” 1๋ถ€ํ„ฐ N๊นŒ์ง€ ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ง„ ํ–‰์„ฑ์ด N๊ฐœ ์žˆ๋‹ค. ํ–‰์„ฑ์˜ ํฌ๊ธฐ๋ฅผ ์•Œ๊ณ  ์žˆ์„๋•Œ, ๊ท ๋“ฑํ•œ ์šฐ์ฃผ์˜ ์Œ์ด ๋ช‡ ๊ฐœ์ธ์ง€ ๊ตฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ๊ตฌ์„ฑ์ด ๊ฐ™์€๋ฐ ์ˆœ์„œ๋งŒ ๋‹ค๋ฅธ ์šฐ์ฃผ์˜ ์Œ www.acmicpc.net ํ’€์ด ์œ„ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ขŒํ‘œ ์••์ถ•์„ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค. ์ขŒํ‘œ ์••์ถ•์— ๋Œ€ํ•œ ๋ฌธ์ œ๋ฅผ ํ•˜๋‚˜ ํ’€์–ด๋ณด๋ฉด ์ข‹๋‹ค. 18870๋ฒˆ: ์ขŒํ‘œ ์••์ถ• ์ˆ˜์ง์„  ์œ„์— N๊ฐœ์˜ ์ขŒํ‘œ X1, X2, ..., XN์ด ์žˆ๋‹ค. ์ด ์ขŒํ‘œ์— ์ขŒํ‘œ ์••์ถ•์„ ์ ์šฉํ•˜๋ ค๊ณ  ํ•œ๋‹ค. Xi๋ฅผ ์ขŒํ‘œ ์••์ถ•ํ•œ ๊ฒฐ๊ณผ X'i์˜ ๊ฐ’์€ Xi > Xj๋ฅผ ๋งŒ์กฑํ•˜๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์ขŒํ‘œ Xj์˜ ๊ฐœ์ˆ˜์™€ ๊ฐ™์•„์•ผ ํ•œ๋‹ค. X1, X2, ..., XN์— www.acmicpc.net ์ขŒํ‘œ ์••์ถ•์„ ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค. ์ฆ‰, ํŠน..

    [JAVA] 2021 KAKAO BLIND RECRUITMENT ใ€ํ•ฉ์Šน ํƒ์‹œ ์š”๊ธˆใ€‘

    ๋ฌธ์ œ์—์„œ ์š”๊ตฌํ•˜๋Š” ๋‹ต์„ ๊ฐ„๋žตํ•˜๊ฒŒ ํ‘œํ˜„ํ•˜๋ฉด, (์ถœ๋ฐœ์ง€์  → ๊ฒฝ์œ ์ง€์ ) ์š”๊ธˆ + (๊ฒฝ์œ ์ง€์  → ๋ฌด์ง€ ๋ชฉ์ ์ง€) ์š”๊ธˆ + (๊ฒฝ์œ ์ง€์  → ์–ดํ”ผ์น˜ ์ง€์ ) ์š”๊ธˆ = ์ตœ์ข… ์š”๊ธˆ ์œ„ ์‹์œผ๋กœ๋ถ€ํ„ฐ ๊ตฌํ•ด์ง„ ์ตœ์ข… ์š”๊ธˆ์˜ ์ตœ์†Ÿ๊ฐ’์„ ๋‹ต์œผ๋กœ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค. ์ฒ˜์Œ์— ํ‘ผ ๋ฐฉ์‹์€ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๊ณ„์† ๋ฐœ์ƒํ–ˆ๋Š”๋ฐ for(int i=1;i

    [JAVA] 2021 ์นด์นด์˜ค ์ฑ„์šฉ์—ฐ๊ณ„ํ˜• ์ธํ„ด์‹ญ ใ€๊ฑฐ๋ฆฌ๋‘๊ธฐ ํ™•์ธํ•˜๊ธฐใ€‘

    ๋งจํ•ดํŠผ ๊ฑฐ๋ฆฌ๊ฐ€ ์‚ฌ์‹ค์ƒ, ํ…Œ์ด๋ธ”์„ ์ œ์™ธํ•œ ๋‘ ์‘์‹œ์ž ์‚ฌ์ด์˜ ๊ฒฉ์ž ๊ฑฐ๋ฆฌ์ด๋ฏ€๋กœ ๊ฐ ๋ฃธ๋งˆ๋‹ค, ์‘์‹œ์ž(P)๊ฐ€ ๋ฐœ๊ฒฌ๋์„ ๋•Œ bfs()๋ฅผ ์‹คํ–‰์‹œ์ผœ ๊ทธ ์‘์‹œ์ž์™€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋‹ค๋ฅธ ์‘์‹œ์ž๋ฅผ ์ฐพ์„๋•Œ๊นŒ์ง€ ๋ฃจํ”„๋ฌธ์„ ๋Œ๋ฆฌ๊ณ  ๋ฐœ๊ฒฌ๋˜๋ฉด ๊ฑฐ๋ฆฌ๋ฅผ ๋ฆฌํ„ดํ•˜๋„๋ก bfs()๋ฅผ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์‘์‹œ์ž์˜ ๊ฑฐ๋ฆฌ๊ฐ€ 2์ดํ•˜์ธ์ง€ ์ฒดํฌํ•œ ๋’ค, 2์ดํ•˜๋ผ๋ฉด 0์„ ๊ธฐ๋กํ•˜๋„๋ก ๋กœ์ง์„ ๊ตฌ์„ฑํ•˜์˜€๋‹ค. import java.util.*; class Solution { String[][] map; boolean[][] checked; Queue q; int[] dr = {1,-1,0,0}; int[] dc= {0,0,1,-1}; public int[] solution(String[][] places) { int[] answer = new int[5]; Arra..

    [JAVA] 2020 ์นด์นด์˜ค ์ธํ„ด์‹ญ ใ€์ˆ˜์‹ ์ตœ๋Œ€ํ™”ใ€‘

    ๋ฌธ์ž์—ด์„ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ• ๊นŒ ๊ต‰์žฅํžˆ ๋งŽ์ด ๊ณ ๋ฏผํ–ˆ๋˜ ๋ฌธ์ œ์˜€๋‹ค. ์ •๊ทœ์‹์„ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์ฝ”๋“œ๊ฐ€ ๋” ๊ฐ„๊ฒฐํ•ด์งˆ ๊ฒƒ ๊ฐ™์•„์„œ ์ •๊ทœ์‹์„ ์‚ฌ์šฉํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ , ์—ฐ์‚ฐ์ž๋Š” + - * 3๊ฐœ๋งŒ ์ฃผ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์—, ์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ง์ ‘ ๋ช…์‹œํ•ด์„œ ์„ ์–ธํ•ด์ฃผ์—ˆ๋‹ค. "*+-","+*-","*-+","+-*","-*+","-+*" ์œ„์™€ ๊ฐ™์€ 6๊ฐ€์ง€ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ๋จผ์ € ์ •๊ทœ์‹ "\\d+|\\S" ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, ์ˆซ์ž์™€ ์—ฐ์‚ฐ์ž๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ , ์ •๊ทœ์‹์„ ๋ฐ”ํƒ•์œผ๋กœ ๋ถ„๋ฆฌํ•œ ์›์†Œ๋“ค์„, ์ˆœํšŒํ•˜๋ฉด์„œ ์ˆซ์ž๋ผ๋ฉด ์Šคํƒ์— ์ง‘์–ด๋„ฃ๊ณ , ์—ฐ์‚ฐ์ž์ด๋ฉด์„œ ์šฐ์„ ์ˆœ์œ„์— ํ•ด๋‹นํ•˜๋Š” ์—ฐ์‚ฐ์ž๋ผ๋ฉด ์Šคํƒ์— ์žˆ๋˜ ์ˆซ์ž๋ฅผ ๋นผ์„œ ์—ฐ์‚ฐ์ฒ˜๋ฆฌ ํ•œ ๋’ค, ๋„ฃ์–ด๋†“๋Š” ๋ฐฉ์‹์œผ๋กœ ํ‘œํ˜„์‹์„ ๋ณ€ํ™˜์‹œ์ผฐ๋‹ค. ์šฐ์„ ์ˆœ์œ„๊ฐ€ "*+-" ๋ผ๊ณ  ๊ฐ€์ •ํ–ˆ์„๋•Œ "100-200*300-500+20" ์ด ์‹์€ "100-..

    [JAVA] 2019 ์นด์นด์˜ค ๊ฐœ๋ฐœ์ž ๊ฒจ์šธ ์ธํ„ด์‹ญ ใ€์ง•๊ฒ€๋‹ค๋ฆฌ ๊ฑด๋„ˆ๊ธฐใ€‘

    ์ผ๋‹จ stones ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๊ฐ€ 200000๊ฐœ์ด๋ฏ€๋กœ, ์ด์ค‘ for๋ฌธ์„ ์ ˆ๋Œ€ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐฐ์—ด์˜ ์›์†Œ๊ฐ’์œผ๋กœ ์ด๋ถ„ ํƒ์ƒ‰์„ ํ•ด์„œ ๊ฐ’์„ ์ฐพ์•„์•ผ ํ•œ๋‹ค. [2, 4, 5, 3, 2, 1, 4, 2, 5, 1] ์˜ˆ์ œ ์ฒ˜๋Ÿผ ์œ„์™€ ๊ฐ™์€ ๊ฒฝ์šฐ์—์„œ ์ „์ฒด 3์„ ๊ฐ์†Œํ•˜๋ฉด [-1 1 2 0 -1 -2 1 -1 2 -2] ๊ฐ€ ๋˜๋Š”๋ฐ, 0์ดํ•˜์ธ ์›์†Œ๊ฐ€ 3๊ฐœ ์—ฐ์†์œผ๋กœ ์กด์žฌํ•˜๋Š” ๊ตฌ๊ฐ„์ด ์ƒ๊ธฐ๋ฏ€๋กœ ๋‹ต์ด 3์ด ๋˜๋Š”๊ฒƒ์ด๋‹ค. ๋งŒ์•ฝ 2๋ฅผ ๊ฐ์†Œํ•˜๋ฉด [0 2 3 1 0 -1 2 0 3 -1] ์ด ๋˜์–ด 0์ดํ•˜์ธ ์›์†Œ๊ฐ€ 3๊ฐœ ์—ฐ์†์œผ๋กœ ์กด์žฌํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์Œ ์‚ฌ๋žŒ์ด ๊ฑด๋„ˆ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ, ์ „์ฒด์— x๋ฅผ ๊ฐ์†Œ์‹œ์ผฐ์„ ๋•Œ, 0์ดํ•˜์ธ ๋Œ์ด ์—ฐ์†์œผ๋กœ k๊ฐœ ์ด์ƒ ์กด์žฌํ•˜๋Š” x๊ฐ’์„ ์ด๋ถ„ํƒ์ƒ‰์œผ๋กœ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค. ์ดˆ๊ธฐ๊ฐ’์„ left = stones ๋ฐฐ์—ด์˜ ์ตœ..

    [JAVA] 2020 KAKAO BLIND RECRUITMENT ใ€๊ด„ํ˜ธ ๋ณ€ํ™˜ใ€‘

    ์ฒ˜์Œ์— )()(() ์ธ ๊ฒฝ์šฐ u= [ )( ] ์™€ v= [ )(() ] ๋กœ ๋‚˜๋ˆˆ ๋’ค "()" + "()" +"()" ๊ฐ€ ๋˜์–ด์„œ "()()()" ์ธ์ค„ ์•Œ์•˜์ง€๋งŒ, ๊ณผ์ •์ด ์ข€ ๋‹ฌ๋ž๋‹ค. )( ์—์„œ ์•ž ๋’ค ๋ฌธ์ž์—ด์„ ์ œ๊ฑฐํ•˜๋ฉด "" ๋นˆ ๋ฌธ์ž์—ด๋งŒ ๋‚จ๋Š”๋‹ค. ๋”ฐ๋ผ์„œ, '(' ๋ฅผ ๋ถ™์ด๊ณ  v= [ )(() ] ๋ฅผ ๋‹ค์‹œ 1๋‹จ๊ณ„๋ถ€ํ„ฐ ์ง„ํ–‰ํ•œ ๋ฌธ์ž์—ด์„ ๋ถ™์ด๊ณ  ')' ๋ฅผ ๋ถ™์ธ๋‹ค. v = [ )(() ] ๋ฅผ ๋‹ค์‹œ 1๋‹จ๊ณ„๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด u = [ )( ] ์™€ v = [ () ] ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ u๋Š” ๋˜ ๋‹ค์‹œ ๋นˆ ๋ฌธ์ž์—ด์ด ๋˜๊ณ  '(' ๋ฅผ ๋ถ™์ด๊ณ  v = [ () ] ๋ฅผ ๋‹ค์‹œ 1๋‹จ๊ณ„๋ถ€ํ„ฐ ์ง„ํ–‰ํ•œ ๋ฌธ์ž์—ด์„ ๋ถ™์ด๊ณ  ')' ๋ฅผ ๋ถ™์ธ๋‹ค. v๋ฅผ ๋Œ€์ƒ์œผ๋กœ ๋˜ 1๋‹จ๊ณ„๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด, ์™„์ „ ๋ฌธ์ž์—ด์ด๋ฏ€๋กœ () ๊ฐ€ ๋ฐ˜ํš๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์ผ๋ จ์˜ ๊ณผ์ •์„ run() ์ด๋ผ๊ณ ..

    [JAVA] 2018 KAKAO BLIND RECRUITMENTใ€ํ”„๋žœ์ฆˆ4๋ธ”๋กใ€‘

    ์ฝ”๋“œ๋Ÿ‰ ์‹คํ™”์ธ๊ฐ€ใ…‹ใ…‹ใ…‹ ๋ญ”๊ฐ€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋‹ค๋Š” ๋А๋‚Œ๋ณด๋‹ค๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ํ•˜๋‚˜ ๋งŒ๋“  ๋А๋‚Œ์ด๋‹ค. ๋ฌธ์ œ ์ž์ฒด๋Š” ์‰ฌ์› ๊ณ , ๊ฐ€์žฅ ํ—ท๊ฐˆ๋ ธ๋˜ ๋ถ€๋ถ„์€ ๋ธ”๋ก์„ ์ œ๊ฑฐํ•˜๊ณ  ์˜ฎ๊ธฐ๋Š” ๋ถ€๋ถ„์ด์—ˆ๋‹ค. ์ด๋ถ€๋ถ„์€, StringBuilder๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•ด๊ฒฐํ–ˆ๋Š”๋ฐ, ๋‚˜๋Š” ์ œ๊ฑฐํ•œ ๋ธ”๋ก์„ "0"์œผ๋กœ ๊ธฐ๋กํ•ด๋†“์•˜์—ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ์œ„์™€ ๊ฐ™์€ ์ƒํ™ฉ์—์„œ, ์ฒซ๋ฒˆ์งธ ์—ด์„ ์ถœ๋ ฅํ•˜๋ฉด, TTT00T ์™€ ๊ฐ™์ด ์ถœ๋ ฅ๋œ๋‹ค. ๋”ฐ๋ผ์„œ, 0์ด ์•„๋‹Œ๊ฒฝ์šฐ์—๋งŒ StringBuilder์— ํ•ฉ์ณ์ฃผ๋ฉด, TTTT ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ–‰์˜ ๊ฐฏ์ˆ˜๊ฐ€ ์ผ์น˜ํ•ด์•ผํ•˜๋ฏ€๋กœ ํ–‰์˜ ๊ฐฏ์ˆ˜๋งŒํผ "0"์„ ๋”ํ•˜๋ฉด TTTT00 ์ด ๋œ๋‹ค. ๋‘๋ฒˆ์งธ ์—ด์„ ์˜ˆ๋กœ ํ•œ๋ฒˆ ๋” ์„ค๋ช…ํ•ด๋ณด๋ฉด, MT000T ์ธ ์ƒํ™ฉ์—์„œ MTT ๋กœ ๋งŒ๋“  ๋’ค, MTT000 ์œผ๋กœ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋ ‡๊ฒŒ ๋ณ€ํ™˜ํ•œ ๋ฌธ์ž๋ฅผ map์— ์—ด ๋‹จ์œ„๋กœ ๊ธฐ..

    [JAVA] 2019 KAKAO BLIND RECRUITMENTใ€์˜คํ”ˆ์ฑ„ํŒ…๋ฐฉใ€‘

    map์— ๋กœ ์ €์žฅํ•ด ๋‚˜๊ฐ„๋‹ค. Enter๋กœ ์ž…๋ ฅ๋˜๋ฉด ์ž…๋ ฅ๋ ๋•Œ๋งˆ๋‹ค map์— ๋ฐ”๋กœ ์ž…๋ ฅ๊ณผ ์—…๋ฐ์ดํŠธ๋ฅผํ•˜๊ณ , Change์ธ ๊ฒฝ์šฐ์—๋„ ์—…๋ฐ์ดํŠธ๋งŒ ํ•ด์ฃผ๋ฉด ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด๊ฒฐ๋œ๋‹ค. ์™ธ๋ถ€์—์„œ ๋‹‰๋„ค์ž„์„ ๋ฐ”๊พธ๊ณ  ๋“ค์–ด์˜ค๋Š” ๊ฒฝ์šฐ๋„ Enter๋กœ ์ฒ˜๋ฆฌ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ ๊ฒฝ์“ธ ํ•„์š”๊ฐ€ ์—†๋‹ค. import java.util.*; class Solution { HashMap map; public String[] solution(String[] record) { String[] answer = {}; map = new HashMap(); for(String rec : record){ String [] info = rec.split(" "); if(info[0].equals("Enter")){ map.put(info[1],info[2]); }else ..

    [JAVA] 2022 KAKAO BLIND RECRUITMENTใ€์ฃผ์ฐจ ์š”๊ธˆ ๊ณ„์‚ฐใ€‘

    ๋ฌธ์ œ ์ž์ฒด๋Š” ๊ฐ„๋‹จํ–ˆ๋‹ค, ์ฝ”๋“œ๋Ÿ‰์ด ๋งŽ์•˜์„ ๋ฟ.ใ…Ž HashMap ์ž๋ฃŒํ˜•์„ ์ด์šฉํ•ด์„œ, ์ž๋™์ฐจ๊ฐ€ IN ์ธ ๊ฒฝ์šฐ [์ž๋™์ฐจ ๋ฒˆํ˜ธ = key, ์ž๋™์ฐจ ์ž…์ฐจ์‹œ๊ฐ„ = value] ๋กœ ์ €์žฅํ•œ๋‹ค. ์ž๋™์ฐจ๊ฐ€ OUT์ธ ๊ฒฝ์šฐ map์—์„œ ์ž…์ฐจ์‹œ๊ฐ„์„ ์ถ”์ถœํ•œ ๋’ค, ์ด์šฉ์‹œ๊ฐ„์„ ๊ตฌํ•œ๋‹ค. ์ด์šฉ์‹œ๊ฐ„์€, ๋‹ค๋ฅธ map์— [์ž๋™์ฐจ ๋ฒˆํ˜ธ = key , ์ฃผ์ฐจ์žฅ ์ด์šฉ์‹œ๊ฐ„ = value ] ๋กœ ๊ธฐ๋กํ•ด๋‘๊ณ , ์ž…์ฐจ์‹œ๊ฐ„์„ ๊ธฐ๋กํ•˜๋Š” map์— ์žˆ๋˜ ๋ฐ์ดํ„ฐ๋Š” ์‚ญ์ œํ•œ๋‹ค. ์‚ญ์ œํ•˜๋Š” ์ด์œ ๋Š”, ๋‚˜์ค‘์— ์ถœ์ฐจ ๋‚ด์—ญ์ด ์—†๋Š” outํ•˜์ง€ ๋ชปํ•œ ์ฐจ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค. ๊ทธ๋ ‡๊ฒŒ, ์ด์šฉ์‹œ๊ฐ„์„ ๋‹ค ๊ธฐ๋กํ•œ ๋’ค, ์ถœ์ฐจํ•˜์ง€ ๋ชปํ•œ ์ฐจ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ์ด์šฉ์‹œ๊ฐ„์— ์ถ”๊ฐ€ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ฃผ์–ด์ง„ ์š”๊ธˆ ์ •์‚ฐ ๋ฐฉ๋ฒ•๋Œ€๋กœ ๊ณ„์‚ฐํ•œ ๋’ค, ์ž๋™์ฐจ ๋ฒˆํ˜ธ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์„œ ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋์ด๋‹ค // ์ž…์ฐจ ์ดํ›„ ์ถœ์ฐจ ..

    [JAVA] 2018 KAKAO BLIND RECRUITMENTใ€n์ง„์ˆ˜ ๊ฒŒ์ž„ใ€‘

    10์ง„๋ฒ• ์ˆ˜๋ฅผ n์ง„๋ฒ•์— ๋งž๋Š” ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” convert() ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•˜์˜€๊ณ  0๋ถ€ํ„ฐ n์ง„๋ฒ•์œผ๋กœ ๋ณ€ํ™˜ํ•œ ๋ฌธ์ž์—ด์„ ๊ณ„์† ๋”ํ•ด์„œ ๊ธธ์ด๊ฐ€ t*m ์ด์ƒ์ด ๋ ๋•Œ๊นŒ์ง€ ๋”ํ–ˆ๋‹ค. ๊ฒŒ์ž„์— ์ฐธ๊ฐ€ํ•˜๋Š” ์ธ์›์ด m๋ช…์ด๊ณ , ๋ฏธ๋ฆฌ ๊ตฌํ•  ์ˆซ์ž๊ฐ€ t์ผ๋•Œ, ๋งŒ์•ฝ ํŠœ๋ธŒ์˜ ์ˆœ์„œ๊ฐ€ m๋ช…์ค‘์— m๋ฒˆ์งธ ์ˆœ์„œ์ธ ๊ฒฝ์šฐ๊ฐ€ ์ œ์ผ ๋Šฆ์€ ์ˆœ์„œ์ธ ๊ฒฝ์šฐ์ด๋ฏ€๋กœ ๋ฌธ์ž์—ด์„ t*m๊นŒ์ง€๋งŒ ๊ตฌํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  do-while ๋ฃจํ”„๋ฌธ์œผ๋กœ ์ฃผ์–ด์ง„ ํŠœ๋ธŒ์˜ ์ˆœ์„œ์— ๋งž๊ฒŒ t๊ฐœ๊ฐ€ ๋ ๋•Œ๊นŒ์ง€ ๋ฌธ์ž์—ด์„ ๋”ํ•ด์„œ ๋‹ต์„ ๊ตฌํ–ˆ๋‹ค. // ์ง„๋ฒ• n class Solution { String[] unit = {"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"}; public String solution(int n, in..

    [JAVA] 2018 KAKAO BLIND RECRUITMENTใ€์••์ถ•ใ€‘

    map์„ ์‚ฌ์šฉํ•ด์„œ, ๊ธฐ๋ณธ์ ์œผ๋กœ A~Z ๊นŒ์ง€ ์ €์žฅํ•œ ๋’ค, map์— ํ‚ค๋กœ ์กด์žฌํ•˜์ง€ ์•Š์„ ๋•Œ๊นŒ์ง€ idx๋ฅผ ++ํ•ด์„œ ๋ฌธ์ž๋ฅผ ๋”ํ•˜๊ณ , map์— ์ถ”๊ฐ€ํ•ด์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ํ’€๋ฉด ๋˜๋Š” ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ์˜€๋‹ค. import java.util.*; class Solution { HashMap map; List ans; public int[] solution(String msg) { setUp(); int idx = 0; while(idx

    [JAVA] 2018 KAKAO BLIND RECRUITMENT ใ€๋‰ด์Šค ํด๋Ÿฌ์Šคํ„ฐ๋งใ€‘

    ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์„ ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง€๋Š” ์กฐํ•ฉ์„ ๋งŒ๋“ค์–ด์„œ Map์— ๊ฐœ์ˆ˜์™€ ๊ธฐ๋กํ•œ๋‹ค. (์˜ˆ์‹œ,["fr":2,"re":1,....]) ๋‘ ๋ฌธ์ž์—ด์„ ์กฐํ•ฉ๋ณ„ ๊ฐฏ์ˆ˜๋ฅผ ๊ธฐ๋กํ•œ Map์„ ์ด์šฉํ•ด์„œ ๊ต์ง‘ํ•ฉ ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค. ๊ต์ง‘ํ•ฉ์ˆ˜๋Š” ์ค‘๋ณต๋„ ํ—ˆ์šฉํ•˜๋ฏ€๋กœ, ๊ฐ Map์— ๊ธฐ๋ก๋˜์–ด์žˆ๋Š” ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์œผ๋กœ ๊ธฐ๋กํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  (ํ•ฉ์ง‘ํ•ฉ ์ˆ˜ - ๊ต์ง‘ํ•ฉ์ˆ˜)๊ฐ€ ๋ถ„๋ชจ, ๊ต์ง‘ํ•ฉ ์ˆ˜๊ฐ€ ๋ถ„์ž๊ฐ€ ๋˜์–ด ๋‹ต์„ ๊ตฌํ•œ๋‹ค. import java.util.*; class Solution { HashMap mapA; HashMap mapB; public int solution(String str1, String str2) { int answer = 0; mapA = new HashMap(); mapB = new HashMap(); getCombination(mapA,st..

    [JAVA] 2022 KAKAO TECH INTERNSHIP ใ€๋‘ ํ ํ•ฉ ๊ฐ™๊ฒŒ ๋งŒ๋“ค๊ธฐใ€‘

    ๋ฌธ์ œ ์ž์ฒด๋Š” ๊ฐ„๋‹จํ•˜๋‹ค. ์™ผ์ชฝ ํ ์ดํ•ฉ์ด ์ปค์ง€๋ฉด, ์™ผ์ชฝ ํ ์›์†Œ๋ฅผ ๋นผ์„œ ์˜ค๋ฅธ์ชฝ ํ๋กœ ์˜ฎ๊ธฐ๊ณ  ์˜ค๋ฅธ์ชฝ ํ ์ดํ•ฉ์ด ์ปค์ง€๋ฉด ์˜ค๋ฅธ์ชฝ ํ ์›์†Œ๋ฅผ ๋นผ์„œ ์™ผ์ชฝ ํ๋กœ ์˜ฎ๊ธฐ๋ฉด ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ [1,4] [4,8] ๊ณผ ๊ฐ™์ด ์ฃผ์–ด์ง€๋ฉด ๋ฌดํ•œ ๋ฃจํ”„๊ฐ€ ๋Œ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, while๋ฌธ ํƒˆ์ถœ ์กฐ๊ฑด์„ (๋‘ ํ์˜ ๊ธธ์ด ํ•ฉ*2) ์ด์ƒ ๋ฐ˜๋ณต๋˜๋ฉด ํƒˆ์ถœํ•˜๋„๋ก ์„ค์ •ํ•ด๋†จ๋‹ค. ์ตœ์•…์˜ ๊ฒฝ์šฐ๋ฅผ ๊ฐ€์ •ํ•ด์„œ ์ƒ๊ฐํ•ด๋ดค๋‹ค. ํ1 [1 2 3....n] // ํ 2 [1 2 3 ....m] ํ1 [n] // ํ 2[1 2 3 ...m 1 2 3....n-1] (์•ฝ n-1๋ฒˆ ์†Œ์š”) ํ1[1 2 3 ....m] // ํ2[1 2 3 ....n] (์•ฝ m+1๋ฒˆ ์†Œ์š”) ํ 1๊ณผ ํ2์˜ ์›์†Œ๊ฐ€ ์™„์ „ํžˆ ๋ฐ”๋€Œ๋ ค๋ฉด n+m๋ฒˆ์ด ์†Œ์š”๋˜๊ณ  ๋‹ค์‹œ ํ1์ด ์ฒ˜์Œ ํ1์›์†Œ๋กœ ๋Œ์•„๊ฐ€๋ ค๋ฉด n+m๋ฒˆ..

    [JAVA] 2020 ์นด์นด์˜ค ์ธํ„ด์‹ญ ใ€๋ณด์„ ์‡ผํ•‘ใ€‘

    Map์„ ์ด์šฉํ•ด์„œ ๋ณด์„ ์ข…๋ฅ˜๋ณ„ ๊ฐฏ์ˆ˜๋ฅผ ๊ธฐ๋กํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  L์„ 0์œผ๋กœ ์žก๊ณ , gems[L] ์ด Map์— ์กด์žฌํ•˜๋ฉด์„œ, ๊ฐ’์ด 2์ด์ƒ์œผ๋กœ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ ๊ฐ’์ด 1์ด ๋ ๋•Œ๊นŒ์ง€ L์„ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด, ์ œ์ผ ์•ž์ชฝ์— ์ค‘๋ณต์œผ๋กœ ์กด์žฌํ•˜๋Š” ๋ณด์„์„ ์ œ์™ธ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ , Map์˜ size ์ฆ‰, ๊ธฐ๋ก๋œ ๋ณด์„์˜ ๊ฐฏ์ˆ˜๊ฐ€ ๋ณด์„ ์ข…๋ฅ˜ ์ˆ˜์™€ ์ผ์น˜ํ•˜๋ฉด ๋ชจ๋“  ๋ณด์„์ด ์กด์žฌํ•˜๋Š” ๊ตฌ๊ฐ„์ž„์„ ์˜๋ฏธํ•˜๋ฏ€๋กœ ์ •๋‹ต์„ ๊ฐฑ์‹ ํ•˜๊ณ , ์ด๋ฏธ ๊ธฐ๋ก๋œ ๊ธธ์ด๋ณด๋‹ค ์ž‘์€ ๊ฒฝ์šฐ์—๋งŒ ๊ฐฑ์‹ ํ•œ๋‹ค. import java.util.*; class Solution { public int[] solution(String[] gems) { int[] answer = new int[2]; int cnt = new HashSet(Arrays.asList(gems)).size(); in..