지연된 주문이 하나라도 있는지 확인하기

자바스크립트 코딩테스트 문제로 array-boolean-checks 주제를 연습해보세요. 난이도는 easy이며, 브라우저에서 바로 JavaScript로 풀이를 실행할 수 있습니다.

js-basic easy array-boolean-checks 함수명: checkAnyOrderDelayed 제한 시간: 200ms

주문 상태가 담긴 배열 statuses가 주어질 때, 값들 중 하나라도 "delayed"가 있으면 true, 없으면 false를 반환하는 checkAnyOrderDelayed 함수를 작성하세요.

오늘의 메서드

  • some()

메서드 설명

  • some()은 배열 안에 조건을 만족하는 요소가 하나라도 있는지 확인하는 메서드입니다.
  • 앞에서부터 검사하다가 조건을 만족하는 요소를 찾으면 바로 true를 반환합니다.
  • 끝까지 찾아도 없으면 false를 반환합니다.

기본 문법

arr.some((element) => 조건식)

사용 예시

const statuses = ['packed', 'shipped', 'delayed', 'done'];

statuses.some((status) => status === 'delayed'); // true
statuses.some((status) => status === 'cancelled'); // false

주의할 점

  • some()의 반환값은 불리언(true 또는 false)입니다.
  • 조건을 만족하는 요소를 하나 찾으면 바로 탐색을 멈춥니다.
  • 원본 배열을 변경하지 않습니다.
  • 빈 배열에서는 조건을 만족하는 요소가 없으므로 false가 반환됩니다.

제한사항

  • statuses는 길이 0 이상 100 이하의 문자열 배열입니다.
  • 각 원소는 "packed", "shipped", "delayed", "done" 중 하나입니다.
  • 배열 안에 "delayed"가 하나라도 있으면 true를 반환합니다.
  • 그렇지 않으면 false를 반환합니다.

예시

  • 입력: ["packed", "shipped", "delayed", "done"] → 출력: true
  • 입력: ["packed", "shipped", "done"] → 출력: false
  • 입력: [] → 출력: false

힌트

  • 이 문제는 모든 요소가 아니라 하나라도 조건을 만족하는지 확인하면 됩니다.
  • 각 상태를 보면서 status === 'delayed'인지 검사해 보세요.
  • 조건을 만족하는 값이 나오면 더 이상 끝까지 볼 필요가 없습니다.

해설

이 문제의 핵심은 배열 안에 "delayed"라는 상태가 하나라도 존재하는지 확인하는 것입니다. 이런 상황에서는 some()이 잘 맞습니다.

먼저 statuses.some(...)을 사용해 각 상태가 "delayed"인지 검사합니다.

statuses.some((status) => status === 'delayed')

이 코드는 배열을 앞에서부터 확인합니다.

  • status === 'delayed'가 한 번이라도 true가 되면 전체 결과는 바로 true가 됩니다.
  • 끝까지 확인해도 없으면 false가 됩니다.

예를 들어 ["packed", "shipped", "delayed", "done"]이라면 앞의 두 값은 조건을 만족하지 않지만, "delayed"를 만나는 순간 바로 true가 됩니다. 반대로 ["packed", "shipped", "done"]처럼 해당 값이 전혀 없으면 끝까지 검사한 뒤 false가 됩니다.

정답 코드는 아래처럼 간단하게 작성할 수 있습니다.

function checkAnyOrderDelayed(statuses) {
  return statuses.some((status) => status === 'delayed');
}

이 풀이가 적합한 이유는 다음과 같습니다.

  • 문제 요구사항이 “하나라도 조건을 만족하는가”와 정확히 일치합니다.
  • 반복문과 플래그 변수를 직접 만들지 않아도 됩니다.
  • 코드가 짧고 의도가 분명합니다.

즉, some()배열 안에 특정 조건을 만족하는 값이 존재하는지 확인하는 패턴을 익히기에 좋은 메서드입니다.

코드 작성

starter code를 바탕으로 함수를 완성한 뒤 예제 테스트를 실행해보세요.

JavaScript 에디터 로딩 중...

커스텀 테스트

함수 인자를 JSON 배열 형태로 입력하세요. 예: [3, 5], [[1, 2, 3]]

아직 실행하지 않았습니다.

실행 결과

아직 실행하지 않았습니다.

예제 테스트를 실행하면 여기에서 결과를 확인할 수 있습니다.

댓글

문제 풀이 아이디어, 질문, 반례를 자유롭게 나눠보세요.