๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Coding Test ์ฝ”๋”ฉํ…Œ์ŠคํŠธ

Do it ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ•˜๋ฃจ์ฝ”๋”ฉ 4์žฅ ์ •๋ ฌ ๋ฌธ์ œ

by ๋น„์†Œ์•ผ 2022. 11. 20.
728x90

 

 

 

 

์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค.

 

# 11 15 ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ1 (๋ฐฑ์ค€ 2750)

์ˆ˜์˜ ์ตœ๋Œ€ ๊ฐœ์ˆ˜, ์ฆ‰ ๋ฐ์ดํ„ฐ N์˜ ์ตœ๋Œ€ ๊ฐœ์ˆ˜๊ฐ€ 1,000์ด๋ฏ€๋กœ ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ O(n^2) ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋„ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค.

 

๋ฒ„๋ธ” ์ •๋ ฌ์„ ์ด์šฉํ•˜์—ฌ ์ •๋ ฌ

0๋ฒˆ์งธ ๋ฃจํ”„์—์„œ

0๊ณผ 1 ๋น„๊ตํ•˜์—ฌ swap, 1๊ณผ 2 ๋น„๊ตํ•˜์—ฌ swap ... // ์˜ค๋ฆ„์ฐจ์ˆœ์ธ ๊ฒฝ์šฐ ์•ž์ด ๋” ํฌ๋ฉด swap

์ •๋ ฌ๋˜์ง€ ์•Š์€ ๋ฒ”์œ„ -1

 

for  0 N-1 // ๋ฃจํ”„์˜ ๊ฐœ์ˆ˜, ๋งˆ์ง€๋ง‰์—” ๋ฐ์ดํ„ฐ 2๊ฐœ๊ฐ€ ์ •๋ ฌ๋˜๋ฏ€๋กœ N์ด ์•„๋‹ˆ๋ผ N-1๋ฒˆ ๋ฃจํ”„

for  0 N-1-i // ์ •๋ ฌ๋˜์ง€ ์•Š์€ ๋ฒ”์œ„,  -i๋Š” ๋ฃจํ”„์˜ ํšŸ์ˆ˜๊ฐ€ ์ง„ํ–‰๋ ์ˆ˜๋ก ์ •๋ ฌ๋˜์ง€ ์•Š์€ ๋ฒ”์œ„๊ฐ€ 1๊ฐœ์”ฉ ์ค„์–ด๋“œ๋ฏ€๋กœ 

 

# 12 17 ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ž๋ฆฟ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ (๋ฐฑ์ค€ 1427)

์ˆ˜์˜ ๊ฐ ์ž๋ฆฟ์ˆ˜๊ฐ€ ๋ฐ์ดํ„ฐ์ด๋ฏ€๋กœ N์˜ ์ตœ๋Œ€ํฌ๊ธฐ๋Š” 10์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ O(n^2) ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋„ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค.

 

์„ ํƒ ์ •๋ ฌ์„ ์ด์šฉํ•˜์—ฌ ์ •๋ ฌ

์ •๋ ฌ๋˜์ง€ ์•Š์€ ๋ฒ”์œ„์—์„œ ์ตœ๋Œ“๊ฐ’ ์ฐพ๊ธฐ // ๋‚ด๋ฆผ์ฐจ์ˆœ์ด๋ฏ€๋กœ

๋งจ ์•ž ๊ฐ’๊ณผ swap

 

String์œผ๋กœ ๋ฐ›๋Š”๋‹ค.

subString(์ด์ƒ, ๋ฏธ๋งŒ) ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœํ•˜์—ฌ ๊ฐ ์ž๋ฆฟ์ˆ˜ ๋ณ„๋กœ ๋ฌธ์ž์—ด์„ ๋‚˜๋ˆ„์–ด, ์ •์ˆ˜๋กœ ๋ณ€ํ™˜ํ•œ ๋’ค ๋ฐฐ์—ด๋กœ ์ €์žฅ

 

for 0 str.length() // ๋ฃจํ”„์˜ ๊ฐœ์ˆ˜, 1๊ฐœ ๋ฐ์ดํ„ฐ ์ •๋ ฌ

for i+1 str.length() // ์ •๋ ฌ๋˜์ง€ ์•Š์€ ๋ฒ”์œ„, ๋ฃจํ”„์˜ ํšŸ์ˆ˜๊ฐ€ ์ง„ํ–‰๋ ์ˆ˜๋ก ์ •๋ ฌ๋˜์ง€ ์•Š๋Š” ๋ฒ”์œ„๊ฐ€ ์•ž์—์„œ๋ถ€ํ„ฐ 1๊ฐœ์”ฉ ์ค„์–ด๋“œ๋ฏ€๋กœ

728x90