-
728x90
๐ ๋ฌธ์ ์ค๋ช
๋ฌธ์ "A"์ "B"๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด
myString
๊ณผpat
๊ฐ ์ฃผ์ด์ง๋๋ค. myString์ "A"๋ฅผ "B"๋ก, "B"๋ฅผ "A"๋ก ๋ฐ๊พผ ๋ฌธ์์ด์ ์ฐ์ํ๋ ๋ถ๋ถ ๋ฌธ์์ด ์ค pat์ด ์์ผ๋ฉด 1์ ์๋๋ฉด 0์ return ํ๋ solution ํจ์๋ฅผ ์์ฑํ์ธ์.๐ ์ ํ ์ฌํญ
- 1 ≤
myString
์ ๊ธธ์ด ≤ 100 - 1 ≤
pat
์ ๊ธธ์ด ≤ 10myString
๊ณผpat
๋ ๋ฌธ์ "A"์ "B"๋ก๋ง ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ ๋๋ค.
๐ ๋ต์
class Solution { public int solution(String myString, String pat) { String str = ""; String[] arr = myString.split(""); int answer = 0; for(int i=0; i<arr.length; i++) { str += (arr[i].equals("A"))?"B":"A"; } return (str.contains(pat))?1:0; } }
๋ฌธ์ ๋ฅผ ๋ณด๋
replace()
๋ฅผ ์ฐ๋ฉด ๋ ์ค ์์๋๋ฐ ๊ทธ๋ ๊ฒ ๋๋ฉด ์ด๋ฏธ ๋ฐ๋ ๋ฌธ์์ด์ด ๋ ๋ฐ๋๊ธฐ ๋๋ฌธ์ ๋ฌธ์์ด์ด ๊ผฌ์ด๊ฒ ๋๋ค. ๊ทธ๋์ myString์String
๋ฐฐ์ด์ ๋ด์์ ๊ทธ ๋ฐฐ์ด์ ๊ธธ์ด ๋งํผ for๋ฌธ์ ๋๋ฉด์ ๋ฌธ์์ด ์์๊ฐ A์ ๋์ผํ๋ฉด B, ์๋๋ฉด A๋ฅผ ๋ฌธ์์ด ๋ณ์ str์ ์ด์ด ๋ถ์ธ๋ค. ๊ทธ๋ ๊ฒ ๋ด์str
๊ณผpat
์ ๋น๊ตํ์ฌ ๋ฌธ์์ด์ด ํฌํจ๋์ด ์์ผ๋ฉด 1, ์๋๋ฉด 0์ ๋ฆฌํดํ๋ค.๐ ๊ฐ์ ๋ต์
class Solution { public int solution(String myString, String pat) { myString = myString.replace("A","a").replace("B","A").replace("a","B"); return (myString.contains(pat))?1:0; } }
for๋ฌธ์ ์ฐ์ง ์๊ณ
replace()
๋ง์ ์ด์ฉํ์ฌ ํ์ด๋ ๊ฐ๋ฅํ๋ฐ A ๋ฌธ์์ด์ ์๋ฌธ์ a๋ก ๋ฐ๊พธ๊ณ ๊ทธ ๋ฌธ์์ด์์ B๋ฅผ A๋ก ๋ณํํ ๋ค ์๋ฌธ์ a๋ฅผ ๋๋ฌธ์ B๋ก ๋ณํํ์ฌ ๊ทธ ๋ฌธ์์ด๊ณผ pat์ ๋น๊ตํ๋ ๋ฐฉ๋ฒ์ด๋ค.์ด๋ ๊ฒ ํ๋ฉด replace()๋ฅผ ์ฐ๋๋ผ๋ ๋ฌธ์์ด์ด ๊ผฌ์ด์ง ์๊ณ ์ ๋๋ก ๋ณํ๋๋ ๊ฒ์ ์ ์ ์๋ค.
๐ก ์ฐธ๊ณ
๋ฌธ์์ด๋ณ์.replace("๊ธฐ์กด ๋ฌธ์์ด","๋ณ๊ฒฝ ๋ฌธ์์ด")
: ๊ธฐ์กด ๋ฌธ์์ด์ ๋ณ๊ฒฝํ ๋ฌธ์์ด๋ก ๋ณ๊ฒฝํด์ฃผ๋ ํจ์๋ฌธ์์ด.contains(๋ฌธ์์ด)
: ๋ฌธ์์ด์ ํน์ ๋ฌธ์์ด์ด ํฌํจ๋์ด ์๋์ง ํ์ธํ์ฌ true, false๋ฅผ ๋ฆฌํดํ๋ ํจ์๋ฌธ์์ด.equals(๋ฌธ์์ด)
: ๋ฌธ์์ด์ ๊ฐ์ ๋น๊ตํ์ฌ ๊ฐ๋ค๋ฉด true, ๋ค๋ฅด๋ค๋ฉด false๋ฅผ ๋ฆฌํดํ๋ ํจ์
728x90'algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ป ์๋ฐ ์๊ณ ๋ฆฌ์ฆ - ์ฃผ์ฌ์ ๊ฒ์1 (1) 2023.10.07 ๐ป ์๋ฐ ์๊ณ ๋ฆฌ์ฆ - n๊ฐ ๊ฐ๊ฒฉ์ ์์๋ค (0) 2023.10.05 ๐ป ์๋ฐ ์๊ณ ๋ฆฌ์ฆ - N ๋ณด๋ค ์ปค์ง ๋๊น์ง ๋ํ๊ธฐ (0) 2023.10.05 ๐ป ์๋ฐ ์๊ณ ๋ฆฌ์ฆ - ๊ธ์ ์ด์ด ๋ถ์ฌ ๋ฌธ์์ด ๋ง๋ค๊ธฐ (0) 2023.10.04 ๐ป ์๋ฐ ์๊ณ ๋ฆฌ์ฆ - ๋ฐฐ์ด ๋ง๋ค๊ธฐ2 (1) 2023.10.01 - 1 ≤