Engineering Note

39. 두 배열 합치기 본문

Problem Solving/Olympiad in Informatics

39. 두 배열 합치기

Software Engineer Kim 2021. 3. 1. 19:02

it 취업을 위한 알고리즘 문제풀이

문제

코드

문제해결방법

  • N: a배열의 크기, M: b배열의 크기
  • a배열의 인덱스 위치를 가리키는 문자 i이고, b배열의 인덱스 위치를 가리키는 문자 j일 때
    • i가 0부터 N-1까지, j가 0부터 M-1까지 비교하며 작은 값을 c배열에 입력한다. 비교를 해가며 남은 배열은 이제 모두 차례로 c배열에 입력하면 된다.
  • 첫 번째 while의 조건문에서 (i < N)를 A집합, (j < M)를 B 집합이라고 하면 A and B 논리곱일 때 조건이 참이고 두 번째 while의 조건문에서 는 A여집합 and B조건 일때를, 세 번째 while의 조건문에서는 A and B여집합를 나타내므로 아래 두개의 while문(두번째, 세번째 while문)은 하나만 실행된다.
  • 두번째 while문의 조건i >= N && j < M은 (j < M), B집합 세번째 while문의 조건은 i < N A집합으로만 조건을 표현해도 되지만 명확하게 하기 위해서 여집합조건도 포함시켰다. 여집합 조건을 포합시키지 않아도 되는 이유는 첫 번째 while문의 조건에서 둘 중 하나가 거짓이면 while문을 빠져나왔을 것이기 때문에 나머지 조건에 대해서만 명시해주어도 된다.

'Problem Solving > Olympiad in Informatics' 카테고리의 다른 글

2. 자연수의 합  (0) 2021.04.04
47. 봉우리  (0) 2021.04.04
41. 연속된 자연수의 합  (0) 2021.02.28
31. 탄화수소 질량  (0) 2021.02.18
29. 3의 개수는?(small)  (0) 2021.02.16
Comments