๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป[programmers/java] Lv1. 12906 ๊ฐ™์€์ˆซ์ž๋Š” ์‹ซ์–ด

gpwlsยท2023๋…„ 5์›” 6์ผ
0

programmers

๋ชฉ๋ก ๋ณด๊ธฐ
1/1
post-thumbnail

๐Ÿ”Ž๋ฌธ์ œ์„ค๋ช…

๋ฌธ์ œ ๋ถ„์„

์ •์ˆ˜ํ˜• ๋ฐฐ์—ด์—์„œ ์—ฐ์†์œผ๋กœ ์ค‘๋ณต๋œ ์›์†Œ๋ฅผ ํ•˜๋‚˜๋งŒ ๋‚จ๊ธฐ๊ณ  ์ œ๊ฑฐํ•œ ๋ฐฐ์—ด์„ ๋ฆฌํ„ด

์ž…์ถœ๋ ฅ ์˜ˆ์‹œ

์ ‘๊ทผ

  1. for
    ์ฒ˜์Œ์—๋Š” ์ค‘๋ณต for๋ฌธ์„ ๋Œ๋ ค์„œ ์›์†Œ ํ•˜๋‚˜ํ•˜๋‚˜์— ์ ‘๊ทผํ•ด ์ค‘๋ณต๋˜๋ฉด ์ง€์šฐ๋Š” ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ–ˆ๋‹ค๊ฐ€ ์ด๊ฑด ์•„๋‹Œ๋ฐ ์‹ถ์–ด ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•ด๋ดค๋‹ค.
    2.set
    ์ค‘๋ณต์„ ์ œ๊ฑฐํ•ด์•ผ ํ•˜๋‹ˆ๊นŒ set์„ ์‚ฌ์šฉํ•ด๋ณผ๊นŒ ์ƒ๊ฐํ–ˆ๋‹ค.
    ํ•˜์ง€๋งŒ set์€ ์ˆœ์„œ๊ฐ€ ์—†๋Š” ์ปฌ๋ ‰์…˜์ด๋ฏ€๋กœ ํŒจ์Šค-
  2. stack
    push()์™€ pop()์œผ๋กœ ๊ฐ€๋Šฅํ•  ๊ฑฐ ๊ฐ™์Œ
    stack์— push()๋กœ arr ์›์†Œ๋ฅผ ๋„ฃ์œผ๋ฉด์„œ ์ด์ „ ์›์†Œ๊ฐ€ ์ค‘๋ณต๋˜๋ฉด pop()์œผ๋กœ ์ œ๊ฑฐํ•˜๊ธฐ

๐Ÿ“ Solve

import java.util.*;

public class Solution {
    public int[] solution(int []arr) {
       	Stack<Integer> stack = new Stack<>();
       
		stack.push(arr[0]);
		for(int i=1; i<arr.length; i++) {
			stack.push(arr[i]);
			if(arr[i-1] == arr[i]) {
				stack.pop();
			}
		}
        int[] answer = new int[stack.size()];
       for(int i=stack.size()-1; i>=0; i--) {
			answer[i] = stack.pop();
		}
        return answer;
    }
}

์ฝ”๋“œ ์„ค๋ช…

stack์— arr[0]์›์†Œ๋ฅผ ๋จผ์ € ๋„ฃ๊ณ  ๋‚˜๋จธ์ง€ [1]๋ถ€ํ„ฐ ์›์†Œ๋ฅผ for๋ฌธ์œผ๋กœ push()ํ•ด ๋„ฃ๊ณ  ์ด์ „ ์›์†Œ์™€ ๊ฐ™๋‹ค๋ฉด pop()์œผ๋กœ ์ œ๊ฑฐ
์Šคํƒ์„ ์ •์ˆ˜ํ˜• ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ํ•ด ๋ฆฌํ„ด

์ดํ‰

๋‚˜๋Š” ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ for๋ฌธ์ด ๊ฐ€์žฅ ๋จผ์ € ์ƒ๊ฐ๋‚˜์„œ ํ•ญ์ƒ ํ’€๋•Œ ๋น„์Šทํ•œ ํŒจํ„ด์œผ๋กœ ํ‘ธ๋Š”๋ฐ, for๋ฌธ ๋ง๊ณ  ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•˜๋Š” ์—ฐ์Šต์„ ๋งŽ์ด ํ•ด์•ผ ํ•  ๊ฑฐ ๊ฐ™๋‹ค....ใ…Ž
๊ทธ๋ฆฌ๊ณ  ์ฝ”๋“œ๋ฅผ ๋” ๊ฐ„๋‹จํ•˜๊ฒŒ ์ค„์ด๋Š” ์—ฐ์Šต๋„ ํ•ด์•ผํ•  ๊ฑฐ ๊ฐ™๋‹ค....ใ…Žใ…Ž๐Ÿ˜…

profile
๊ณต๋ถ€์ค‘

0๊ฐœ์˜ ๋Œ“๊ธ€