Skip to content

Conversation

@SeungHun6450
Copy link

1

문제 - 짝지어 제거하기

알고리즘 설계

(왜 이렇게 코드를 작성했는지 이유를 적어주세요)

풀이 코드

function solution(s) {
  const stack = [];

  for (let char of s) {
    if (stack.length > 0 && stack[stack.length - 1] === char) {
      stack.pop();
    } else {
      stack.push(char);
    }
  }

  return stack.length === 0 ? 1 : 0;
}

개인적인 회고와 다른 풀이

(풀이 중 힘든 점이 있었다면 왜 힘들었고 어떻게 해결했는지, 아니면 이외의 좋을 것 같은 다른 풀이법이 있다면 같이 작성해주세요)

느낀 점

(풀면서 느낀점 이외에도 기억할 점이나 같이 논의하고 싶은 부분 등이 있다면 자유롭게 적어주세요)

2

문제 - 튜플

알고리즘 설계

(왜 이렇게 코드를 작성했는지 이유를 적어주세요)

풀이 코드

function solution(s) {
  let sets = s
    .slice(2, -2)
    .split("},{")
    .map((set) => set.split(",").map(Number));

  sets.sort((a, b) => a.length - b.length);

  let result = [];
  let seen = new Set();

  for (let set of sets) {
    for (let num of set) {
      if (!seen.has(num)) {
        seen.add(num);
        result.push(num);
      }
    }
  }

  return result;
}

개인적인 회고와 다른 풀이

(풀이 중 힘든 점이 있었다면 왜 힘들었고 어떻게 해결했는지, 아니면 이외의 좋을 것 같은 다른 풀이법이 있다면 같이 작성해주세요)

느낀 점

(풀면서 느낀점 이외에도 기억할 점이나 같이 논의하고 싶은 부분 등이 있다면 자유롭게 적어주세요)

3

문제 - 택배상자

알고리즘 설계

(왜 이렇게 코드를 작성했는지 이유를 적어주세요)

풀이 코드

function solution(order) {
  let stack = [];
  let current = 1;
  let count = 0;

  for (let i = 0; i < order.length; i++) {
    let target = order[i];

    while (current <= target) {
      stack.push(current++);
    }

    if (stack[stack.length - 1] === target) {
      stack.pop();
      count++;
    } else {
      break;
    }
  }

  return count;
}

개인적인 회고와 다른 풀이

(풀이 중 힘든 점이 있었다면 왜 힘들었고 어떻게 해결했는지, 아니면 이외의 좋을 것 같은 다른 풀이법이 있다면 같이 작성해주세요)

느낀 점

(풀면서 느낀점 이외에도 기억할 점이나 같이 논의하고 싶은 부분 등이 있다면 자유롭게 적어주세요)

@SeungHun6450 SeungHun6450 self-assigned this Mar 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant