-
[Summer/Winter Coding(~2018)] ๋ฐฉ๋ฌธ๊ธธ์ด - Level2, Java๊ณต๋ถ/์๊ณ ๋ฆฌ์ฆ 2022. 11. 27. 18:36728x90
๐๋ฌธ์ ์ค๋ช
๊ฒ์ ์บ๋ฆญํฐ๋ฅผ 4๊ฐ์ง ๋ช ๋ น์ด๋ฅผ ํตํด ์์ง์ด๋ ค ํฉ๋๋ค. ๋ช ๋ น์ด๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- U: ์์ชฝ์ผ๋ก ํ ์นธ ๊ฐ๊ธฐ
- D: ์๋์ชฝ์ผ๋ก ํ ์นธ ๊ฐ๊ธฐ
- R: ์ค๋ฅธ์ชฝ์ผ๋ก ํ ์นธ ๊ฐ๊ธฐ
- L: ์ผ์ชฝ์ผ๋ก ํ ์นธ ๊ฐ๊ธฐ
์บ๋ฆญํฐ๋ ์ขํํ๋ฉด์ (0, 0) ์์น์์ ์์ํฉ๋๋ค. ์ขํํ๋ฉด์ ๊ฒฝ๊ณ๋ ์ผ์ชฝ ์(-5, 5), ์ผ์ชฝ ์๋(-5, -5), ์ค๋ฅธ์ชฝ ์(5, 5), ์ค๋ฅธ์ชฝ ์๋(5, -5)๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.

์๋ฅผ ๋ค์ด, "ULURRDLLU"๋ก ๋ช ๋ นํ๋ค๋ฉด

- 1๋ฒ ๋ช ๋ น์ด๋ถํฐ 7๋ฒ ๋ช ๋ น์ด๊น์ง ๋ค์๊ณผ ๊ฐ์ด ์์ง์ ๋๋ค.

- 8๋ฒ ๋ช ๋ น์ด๋ถํฐ 9๋ฒ ๋ช ๋ น์ด๊น์ง ๋ค์๊ณผ ๊ฐ์ด ์์ง์ ๋๋ค.

์ด๋, ์ฐ๋ฆฌ๋ ๊ฒ์ ์บ๋ฆญํฐ๊ฐ ์ง๋๊ฐ ๊ธธ ์ค ์บ๋ฆญํฐ๊ฐ ์ฒ์ ๊ฑธ์ด๋ณธ ๊ธธ์ ๊ธธ์ด๋ฅผ ๊ตฌํ๋ ค๊ณ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์์ ์์์์ ๊ฒ์ ์บ๋ฆญํฐ๊ฐ ์์ง์ธ ๊ธธ์ด๋ 9์ด์ง๋ง, ์บ๋ฆญํฐ๊ฐ ์ฒ์ ๊ฑธ์ด๋ณธ ๊ธธ์ ๊ธธ์ด๋ 7์ด ๋ฉ๋๋ค. (8, 9๋ฒ ๋ช ๋ น์ด์์ ์์ง์ธ ๊ธธ์ 2, 3๋ฒ ๋ช ๋ น์ด์์ ์ด๋ฏธ ๊ฑฐ์ณ ๊ฐ ๊ธธ์ ๋๋ค)
๋จ, ์ขํํ๋ฉด์ ๊ฒฝ๊ณ๋ฅผ ๋์ด๊ฐ๋ ๋ช ๋ น์ด๋ ๋ฌด์ํฉ๋๋ค.
์๋ฅผ ๋ค์ด, "LULLLLLLU"๋ก ๋ช ๋ นํ๋ค๋ฉด

- 1๋ฒ ๋ช ๋ น์ด๋ถํฐ 6๋ฒ ๋ช ๋ น์ด๋๋ก ์์ง์ธ ํ, 7, 8๋ฒ ๋ช ๋ น์ด๋ ๋ฌด์ํฉ๋๋ค. ๋ค์ 9๋ฒ ๋ช ๋ น์ด๋๋ก ์์ง์ ๋๋ค.

์ด๋ ์บ๋ฆญํฐ๊ฐ ์ฒ์ ๊ฑธ์ด๋ณธ ๊ธธ์ ๊ธธ์ด๋ 7์ด ๋ฉ๋๋ค.
๋ช ๋ น์ด๊ฐ ๋งค๊ฐ๋ณ์ dirs๋ก ์ฃผ์ด์ง ๋, ๊ฒ์ ์บ๋ฆญํฐ๊ฐ ์ฒ์ ๊ฑธ์ด๋ณธ ๊ธธ์ ๊ธธ์ด๋ฅผ ๊ตฌํ์ฌ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
์ ํ์ฌํญ- dirs๋ stringํ์ผ๋ก ์ฃผ์ด์ง๋ฉฐ, 'U', 'D', 'R', 'L' ์ด์ธ์ ๋ฌธ์๋ ์ฃผ์ด์ง์ง ์์ต๋๋ค.
- dirs์ ๊ธธ์ด๋ 500 ์ดํ์ ์์ฐ์์ ๋๋ค.
dirs answer "ULURRDLLU" 7 "LULLLLLLU" 7
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
๋ฌธ์ ์ ์์์ ๊ฐ์ต๋๋ค.
์ ์ถ๋ ฅ ์ #2
๋ฌธ์ ์ ์์์ ๊ฐ์ต๋๋ค.#ffecd2 #ef5a5a
๐ ์ฒ์ ์๊ฐํ ์์ด๋์ด
x,y ์ขํ๋ฅผ ์ ์ธํด์ -5 < x,y< 5 ์ผ๋๊น์ง ์ฃผ์ด์ง ์ ๋ ฅ๋๋ก ์ฒ๋ฆฌํ๋ฉด ๋ ๊ฑฐ๋ผ ์๊ฐํ๋ค.
์์ง์ด๊ธฐ ์ ์ขํ์ ์์ง์ธ ํ์ ์ขํ๋ฅผ ์กฐํฉํด์ ๋ฌธ์์ด๋ก ์ ์ฅํด์ค๋ค์ HashSet์ ๋ฃ์ด์ผ๊ฒ ๋ค!
์์ง์ด๊ธฐ ์ ์ขํ (x0, y0)
์์ง์ธ ํ ์ขํ (x1,y1) ์ด๋ผ ํ๋ค๋ฉด
String s1 = x0y0x1y1
String s2 = x2y1x0y0
๋ก ๋ฌธ์์ด์ ๋ง๋ค์ด์ HashSet์ ์ ์ฅํ๋ฉด ์ค๋ณต์ ์ฌ๋ผ์ง๊ณ ๋ต์ HashSet์ ํฌ๊ธฐ์ ์ ๋ฐ์ด ๋๋ค.
๊ทธ๋ ๊ฒํด์ ํ์๋๋ ํ ์คํธ์ผ์ด์ค ์ ํ๋๊ฐ 40์ ์ด์๋ค.
๋ญ์ง.. x,y๊ฐ ์ขํ๋ฅผ ๋ฒ์ด๋๋? ํ๋๋ฐ ๊ทธ๊ฒ๋ ์๋์๋ค.
๋ฐ๋ก๊ฐ ๋ญ๊ฐ ์์ง ? ๋ผ๊ณ ๊ณ ๋ฏผํ๋ค.
๋ฐ๋ก๋
์์ง์ด๊ธฐ ์ ์ขํ์ ์์ง์ธ ํ์ ์ขํ๊ฐ ๊ฐ์ ๋ (์ฆ, ์์ง์ด์ง ์์์ ๋) ๊ฐ
hashSet์ ๋ค์ด๊ฐ ์ ์๋ค๋ ๊ฒ์ด๋ค..!!
โ๏ธ ์์ฑํ ์ฝ๋
import java.util.*; class Solution { public int solution(String dirs) { HashSet<String> hs = new HashSet<>(); //List<String> arrlist= new ArrayList<>(); int x = 0, y = 0; for (int i = 0; i < dirs.length(); i++) { char c = dirs.charAt(i); String prev_x = Integer.toString(x); String prev_y = Integer.toString(y); if (c == 'U' && y < 5) { y++; } else if (c == 'D' && y > -5) { y--; } else if (c == 'L' && x > -5) { x--; } else if (c == 'R' && x < 5) { x++; } String str1 = prev_x+ prev_y + Integer.toString(x) + Integer.toString(y) ; String str2 = Integer.toString(x) + Integer.toString(y) + prev_x + prev_y; if(!str1.equals(str2)) { hs.add(str1); hs.add(str2); } } return hs.size()/2; } }๋๋ ๋ฐ๋ณด..ใ ใทใ ใท
'๊ณต๋ถ > ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[2018 KAKAO BLIND RECRUITMENT] [1์ฐจ] ๋ด์ค ํด๋ฌ์คํฐ๋ง - level2 (0) 2022.12.06 [2018 KAKAO BLIND RECRUITMENT] [1์ฐจ] ๋น๋ฐ์ง๋ - Level1 (0) 2022.12.05 [Summer/Winter Coding(~2018)] ์์ด ๋๋ง์๊ธฐ - level2 (0) 2022.11.25 [Summer/Winter Coding(~2018)] ์์ ๋ง๋ค๊ธฐ - Level1 (1) 2022.11.25 [Summer/Winter Coding] ์์ฐ (0) 2022.11.25