[20211027]알고리즘 풀이

2021. 10. 27. 09:34·알고리즘 풀이
K번째 큰 수
 현수는 1부터 100사이의 자연수가 적힌 N장의 카드를 가지고 있습니다. 같은 숫자의 카드가 여러장 있을 수 있습니다. 현수는 이 중 3장을 뽑아 각 카드에 적힌 수를 합한 값을 기록하려 고 합니다. 3장을 뽑을 수 있는 모든 경우를 기록합니다. 기록한 값 중 K번째로 큰 수를 출력 하는 프로그램을 작성하세요. 만약 큰 수부터 만들어진 수가 25 25 23 23 22 20 19......이고 K값이 3이라면 K번째 큰 값 은 22입니다.
▣ 입력설명
 첫 줄에 자연수 N(3<=N<=100)과 K(1<=K<=50) 입력되고, 그 다음 줄에 N개의 카드값이 입력 된다.
▣ 출력설명
 첫 줄에 K번째 수를 출력합니다. K번째 수는 반드시 존재합니다.
▣ 입력예제
 10 3 13 15 34 23 45 65 33 11 26 42
▣ 출력예제
 143
function solution(n, k, card){
  let sum = []
  for (let i = 0; i < 10; i++) {
    for (let j = i + 1; j < 10; j++) {
      for (let k = j + 1; k < 10; k++) {
      	sum.push(card[i] + card[j] + card[k])
      }
    }
  }
  sum.sort((a, b) => {
    if (a - b > 0) return -1
    if (a - b === 0) return 0
    if (a - b < 0) return 1
  })
  answer = sum[k - 1]
  return answer;
}

let arr=[13, 15, 34, 23, 45, 65, 33, 11, 26, 42];
console.log(solution(10, 3, arr));

 

두 배열 합치기
 오름차순으로 정렬이 된 두 배열이 주어지면 두 배열을 오름차순으로 합쳐 출력하는 프로그램 을 작성하세요.
▣ 입력설명
 첫 번째 줄에 첫 번째 배열의 크기 N(1<=N<=100)이 주어집니다.
두 번째 줄에 N개의 배열 원소가 오름차순으로 주어집니다.
세 번째 줄에 두 번째 배열의 크기 M(1<=M<=100)이 주어집니다.
네 번째 줄에 M개의 배열 원소가 오름차순으로 주어집니다.
각 리스트의 원소는 int형 변수의 크기를 넘지 않습니다.
▣ 출력설명
 오름차순으로 정렬된 배열을 출력합니다.
▣ 입력예제1
3
1 3 5
5
2 3 6 7 9
▣ 출력예제 1
 1 2 3 3 5 6 7 9
function solution(arr1, arr2){
  let answer = [...arr1, ...arr2]
  answer.sort((a, b) => a - b)
  return answer;
}

let a=[1, 3, 5];
let b=[2, 3, 6, 7, 9];
console.log(solution(a, b));

위의 방식도 있지만 two-pointer 알고리즘으로 풀 수도 있다.

function solution(arr1, arr2){
  let answer = [];
  let p1=p2=0;
  let n = arr1.length
  let m = arr2.length
  while (p1 < n && p2 < m) {
    if (arr1[p1] <= arr2[p2]) answer.push(arr1[p1++])
    else answer.push(arr2[p2++])
  }
  while (p1 < n) answer.push(arr1[p1++])
  while (p2 < m) answer.push(arr2[p2++])
  return answer;
}

let a=[1, 3, 5];
let b=[2, 3, 6, 7, 9];
console.log(solution(a, b));

'알고리즘 풀이' 카테고리의 다른 글

[20211109]알고리즘 풀이  (0) 2021.11.09
[20211028]알고리즘 풀이  (0) 2021.10.28
[20211024]알고리즘 풀이  (0) 2021.10.24
[20211018]알고리즘 풀이  (0) 2021.10.18
[20211012]알고리즘 풀이  (0) 2021.10.12
'알고리즘 풀이' 카테고리의 다른 글
  • [20211109]알고리즘 풀이
  • [20211028]알고리즘 풀이
  • [20211024]알고리즘 풀이
  • [20211018]알고리즘 풀이
JoyYellow
JoyYellow
  • JoyYellow
    JoyYellow
    JoyYellow
  • 전체
    오늘
    어제
    • 분류 전체보기 (128)
      • Vue (7)
      • React (10)
      • 알고리즘 풀이 (29)
      • 타입스크립트 (2)
      • Microsoft (4)
      • TIL(Today I Learned) (16)
      • Devops (4)
      • CS(Computer Science) (2)
      • Spring (1)
      • Incomplete (0)
      • JS소스모듈 (10)
      • TDD (2)
      • 스프링부트 (0)
      • CSS (8)
      • Next.js (0)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    노마드코더
    개발자북클럽
    노개북
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
JoyYellow
[20211027]알고리즘 풀이
상단으로

티스토리툴바