๊ธฐ๋ก๋ฐฉ

Lv.2 : ์ง์ง€์–ด ์ œ๊ฑฐํ•˜๊ธฐ ๋ณธ๋ฌธ

CodingTest/Java

Lv.2 : ์ง์ง€์–ด ์ œ๊ฑฐํ•˜๊ธฐ

Soom_1n 2023. 9. 8. 12:34

๐Ÿ‘‰ ๋ฌธ์ œ๋งํฌ

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr



๐Ÿ”ธ ๋ฌธ์ œ ๋ถ„์„ ๐Ÿ”ธ

  • ๋ฌธ์ž์—ด s์—์„œ 2๋ฒˆ ์—ฐ์†์œผ๋กœ ๋‚˜์˜จ ๋ฌธ์ž์Œ์„ ์ œ๊ฑฐํ•ด๊ฐ„๋‹ค.
  • ์ œ๊ฑฐ ํ•œ ํ›„ ์•ž ๋’ค๋กœ ๋ถ™์—ฌ์•ผํ•˜๊ณ  ๊ทธ๋•Œ ๋งŒ๋“ค์–ด์ง„ ๋ฌธ์ž์Œ๋„ ์ง€์›Œ์•ผ ํ•œ๋‹ค.

๐Ÿ”ธ ๋ฌธ์ œ ํ’€์ด ๐Ÿ”ธ

  • ์Šคํƒ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
    • ์Šคํƒ์˜ ๊ฐ€์žฅ ์œ„ ๋ฌธ์ž๊ฐ€ ํ˜„์žฌ ๋ฌธ์ž์™€ ๊ฐ™์œผ๋ฉด ๊บผ๋‚ด๊ณ , ๋‹ค๋ฅด๋ฉด ํ˜„์žฌ ๋ฌธ์ž๋ฅผ ์Šคํƒ์— ๋„ฃ๋Š”๋‹ค.
    • ๋งˆ์ง€๋ง‰์— ์Šคํƒ์ด ๋น„์–ด์žˆ์œผ๋ฉด ๋ฌธ์ž์—ด์„ ๋ชจ๋‘ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋Š”๊ฒƒ์ด๋ฏ€๋กœ 1์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

๐Ÿ”ธ ์ฝ”๋“œ ๐Ÿ”ธ

import java.util.Stack;

class Solution
{
    public int solution(String s)
    {
        
        char[] chars = s.toCharArray();
        Stack<Character> stack = new Stack();
        for(char c : chars) {
            if(!stack.isEmpty() && stack.peek() == c) {
                stack.pop();
            } else {
                stack.push(c);
            }
        }
        
        return stack.isEmpty() ? 1 : 0;
    }
}

๐Ÿ”ธ ์ฝ”๋“œ ํ•ด์„ ๐Ÿ”ธ

  • ์Šคํƒ์— ๋ฌธ์ž๋ฅผ ์ €์žฅํ•ด์•ผ ํ•˜๋ฏ€๋กœ Character ์ž๋ฃŒํ˜•์„ ์‚ฌ์šฉํ–ˆ๋‹ค.
  • ์Šคํƒ์ด ๋น„์–ด์žˆ์ง€ ์•Š์œผ๋ฉด์„œ ๊ผญ๋Œ€๊ธฐ ๋ฌธ์ž์™€ ํ˜„์žฌ ๋ฌธ์ž๊ฐ€ ๊ฐ™์œผ๋ฉด ๊ผญ๋Œ€๊ธฐ ๋ฌธ์ž๋ฅผ ๊บผ๋‚ธ๋‹ค.
  • ์Šคํƒ์ด ๋น„์–ด์žˆ๊ฑฐ๋‚˜ ๋ฌธ์ž๊ฐ€ ๋‹ค๋ฅด๋ฉด ํ˜„์žฌ ๋ฌธ์ž๋ฅผ ์Šคํƒ์— ์ €์žฅํ•œ๋‹ค.
  • ๋งˆ์ง€๋ง‰์— ์Šคํƒ์ด ๋น„์–ด์žˆ์œผ๋ฉด 1, ์•„๋‹ˆ๋ฉด 0์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • ์ฒ˜์Œ์—” ๋ฌธ์ž์—ด์„ charAt()์œผ๋กœ ๋ฌธ์ž๋ฅผ ์ ‘๊ทผํ•ด ์ฒ˜๋ฆฌํ•˜๋ คํ–ˆ์ง€๋งŒ, ํšจ์œจ์„ฑ ํ…Œ์ŠคํŠธ์—์„œ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚ฌ๋‹ค.
  • ๊ฒฐ๊ตญ ์Šคํƒ์œผ๋กœ ์ž˜ ์ฒ˜๋ฆฌํ–ˆ๋Š”๋ฐ, ๋ฐ˜๋ณต๋ฌธ์—์„œ charAt()์„ ์“ฐ๋Š” ๊ฒƒ์„ ๋” ์กฐ์‹ฌํ•ด์•ผ๊ฒ ๋‹ค.
  • 1๊ธ€์ž ์˜๋ฌธ์ด๋ผ์„œ char๊ฐ€ ์•„๋‹Œ byte ๋ฐฐ์—ด๋กœ ์ €์žฅํ•˜๋Š” ํ’€์ด๋„ ์žˆ์—ˆ๋‹ค.

728x90

'CodingTest > Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Lv.2 : ์˜์–ด ๋๋ง์ž‡๊ธฐ  (0) 2023.09.12
Lv.2 : ์นดํŽซ  (0) 2023.09.12
Lv.2 : ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜  (0) 2023.09.08
Lv.2 : ๋‹ค์Œ ํฐ ์ˆซ์ž  (0) 2023.09.07
Lv.2 : ์ˆซ์ž์˜ ํ‘œํ˜„  (0) 2023.09.07