Hazel Han
Midnight In Coding
Hazel Han
전체 방문자
오늘
어제
  • 분류 전체보기 (46)
    • Back-end (6)
      • java (0)
      • spring frameworks (6)
      • spring boot (0)
    • Front-end (29)
      • React (7)
      • Javascript (0)
      • html (7)
      • css (15)
    • DB (0)
    • Algorithms (2)
    • 회고록 (9)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 스프링
  • 프로그래밍
  • 저스트코드
  • 리액트
  • springframeworks
  • 개발자
  • 기술블로그
  • coding
  • React
  • Java
  • 코딩
  • 스프링프레임워크
  • justcode
  • 자바의정석
  • 회고록
  • 자바
  • HTML
  • css
  • 남궁성
  • Spring

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Hazel Han

Midnight In Coding

Algorithms

[Code Kata] Day1

2022. 10. 19. 23:48

문제

`twoSum`함수에 숫자배열과 '특정 수'를 인자로 넘기면, 더해서 '특정 수'가 나오는 index를 배열에 담아 return.

nums: 숫자 배열
target: 두 수를 더해서 나올 수 있는 합계
return: 두 수의 index를 가진 숫자 배열

ex)
nums은 [4, 9, 11, 14], target은 13
nums[0] + nums[1] = 4 + 9 = 13
이 때, [0, 1]이 return 되어야 한다.

가정)
target으로 보내는 합계의 조합은 배열 전체 중에 2개 밖에 없다고 가정.

 

 

풀이

const twoSum = (nums, target) => {
  // 아래 코드를 작성해주세요.
  for (let i = 0; i < nums.length; i++) {
    for (let j = 0; j < nums.length; j++) {
      if (nums[i] + nums[j] === target) {
        return [i, j];
      }
    }
  }
}

module.exports = { twoSum };

두 index의 합이 target(특정수)가 되어야한다. 이것을 쉽게 표현하면 [0, 1, 2, 3, 4]의 배열이 있다고 할 때, [0]인덱스와 [0] [1] [2] [3] [4]를 함께 더했을 때 특정수가 되는지를 [4]까지 반복해야하기 때문에 이중 for문을 사용하였다.

그리고 두 인덱스의 합이 target과 같아지면 두 인덱스에 들어있는 수를 리턴하게 하였다.

 

 

느낀점

문제는 단순하지만 정해진 시간내에 사고하는 것이 생각보다 어렵다. 긴 시간을 두고 풀면 많은 문제들을 풀 수 있을지도 모르지만, 1시간 제한을 두고 문제를 푸니 조급해져서 그런것 같다. 하지만 코드카타를 시작한 첫 날, 문제를 해결할 수 있어서 성취감을 얻을 수 있었다. 이것이 앞으로의 원동력이 되어줄 것이다.

저작자표시 (새창열림)

'Algorithms' 카테고리의 다른 글

[Code Kata] Day2  (0) 2022.10.25
    'Algorithms' 카테고리의 다른 글
    • [Code Kata] Day2
    Hazel Han
    Hazel Han

    티스토리툴바