-
728x90
๐ ๋ฌธ์ ์ค๋ช
์ ์ n๊ณผ ๋ฌธ์์ด control์ด ์ฃผ์ด์ง๋๋ค. control์ "w", "a", "s", "d"์ 4๊ฐ์ ๋ฌธ์๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, control์ ์์์๋ถํฐ ์์๋๋ก ๋ฌธ์์ ๋ฐ๋ผ n์ ๊ฐ์ ๋ฐ๊ฟ๋๋ค.
"w" : n์ด 1 ์ปค์ง๋๋ค.
"s" : n์ด 1 ์์์ง๋๋ค.
"d" : n์ด 10 ์ปค์ง๋๋ค.
"a" : n์ด 10 ์์์ง๋๋ค.
์ ๊ท์น์ ๋ฐ๋ผ n์ ๋ฐ๊ฟจ์ ๋ ๊ฐ์ฅ ๋ง์ง๋ง์ ๋์ค๋ n์ ๊ฐ์ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.๐ ์ ํ ์ฌํญ
- -100,000 ≤ n ≤ 100,000
- 1 ≤ control์ ๊ธธ์ด ≤ 100,000
- control์ ์ํ๋ฒณ ์๋ฌธ์ "w", "a", "s", "d"๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ ๋๋ค.
๐ ๋ต์
import java.util.HashMap; import java.util.Map; import java.util.Set; class Solution { public int solution(int n, String control) { int answer = 0; Map<String,Integer> code = new HashMap<String,Integer>(); code.put("w",1); code.put("s",-1); code.put("d",10); code.put("a",-10); for(int i=0; i<control.length(); i++) { n += code.get(String.valueOf(control.charAt(i))); } return n; } }
์ด ๋ฌธ์ ๋ switch ๋๋ if๋ฌธ์ ์จ๋ ํ์ด๊ฐ ๊ฐ๋ฅํ์ง๋ง ์ด๋ฒ์๋ ์ข ๋ค๋ฅด๊ฒ ํ์ด๋ณด๊ณ ์ถ์ด์ key - value ํ์์ผ๋ก ์ด๋ฃจ์ด์ง Map์ ์ฌ์ฉํด์ ํ์ด๋ดค๋ค.Map์ ๋ฆฌ์คํธ์ ๋ฐฐ์ด์ฒ๋ผ ์์ฐจ์ ์ธ index๋ก ๊ฐ์ ๊ตฌํ์ง ์๊ณ ์ ๋ ฅํ key๋ฅผ ์ด์ฉํด value๋ฅผ ์ป๋๋ค.
๋จ value๋ ์ค๋ณต์ด ํ์ฉ๋์ง๋ง key๋ ์ค๋ณต๋ ์ ์๋ค.
๋จผ์ Map ๋ณ์์ธ code์ w,s,d,a์ ๊ฐ์ ๋ฃ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฌธ์์ด control ์ ๊ธธ์ด๋งํผ for๋ฌธ์ ๋๋ฉด์ ๋ฌธ์์ด์ ํ๊ธ์์ฉ ๋ฃ์ด์ Map์ value๋ฅผ ๊ฐ์ ธ์ ๊ทธ ์๋ฅผ n์ ๋ํด์ค๋ค.
728x90'algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ป ์๋ฐ ์๊ณ ๋ฆฌ์ฆ - n ๋ฒ์งธ ์์๊น์ง (0) 2023.09.24 ๐ป ์๋ฐ ์๊ณ ๋ฆฌ์ฆ - ์ ์กฐ์ํ๊ธฐ 2 (0) 2023.09.23 ๐ป ์๋ฐ ์๊ณ ๋ฆฌ์ฆ - ๋ง์ง๋ง ๋ ์์ (0) 2023.09.21 ๐ป ์๋ฐ ์๊ณ ๋ฆฌ์ฆ - ์ฃผ์ฌ์ ๊ฒ์2 (0) 2023.09.21 ๐ป ์๋ฐ ์๊ณ ๋ฆฌ์ฆ - ์ด์ด ๋ถ์ธ ์ (0) 2023.09.18