목록level1 (5)
슈프림 블로그
programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 학생들이 가지고 있는 체육복의 개수를 저장하는 배열 students 일단 모든 학생이 기본적으로 1벌의 체육복을 가지고 있으므로 1을 n번 반복하여 저장한다. var students = [Int](repeating: 1, count: n) 잃어버린 사람은 체육복을 1벌 빼고, 여벌을 가져온 사람은 체육복을 1벌 증가시킨다. 여기서, lost 배열과 reserve의 값은 몇번째 ..
programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 스택 개념을 이용하여 푸는 문제다. 인형을 뽑을 때마다 담는 바구니가 스택이라고 생각하자. 스택에 인형을 담기 전에, peek(마지막에 삽입된 값을 읽어옴) 값과 비교해서 같은 인형이면 pop(마지막에 삽입된 값을 꺼내옴/삭제) 한다. 다른 인형이면 뽑은 인형을 push(스택의 마지막에 값을 삽입함) 한다. 스택의 개념을 사용할 뿐, 배열로 작성해도 된다. Swift의 경우 peek은 last, pop..
문제 설명 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers의 길이는 2 이상 100 이하입니다. numbers의 모든 수는 0 이상 100 이하입니다. 입출력 예 numbers result [2,1,3,4,1] [2,3,4,5,6,7] [5,0,2,7] [2,4,7,9,12] 입출력 예 설명 입출력 예 #1 2 = 1 + 1 입니다. (1이 numbers에 두 개 있습니다.) 3 = 2 + 1 입니다. 4 = 1 + 3 입니다. 5 = 1 + 4 = 2 + 3 입니다. 6 = 2 + 4 입니다. 7 = 3 + 4 입..
programmers.co.kr/learn/courses/30/lessons/42840?language=swift 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr n번째 답으로 무엇을 찍었을까?? 수포자들은 일정한 패턴을 반복적으로 사용한다고 한다. 그렇다면 n번째 답으로는 몇번을 찍었을지 예측 할 수 있다! 수포자들이 사용하는 패턴의 길이가 count라고 하면, n번째 위치의 값은 n % count 위치의 패턴 값과 같다. n번째 문제의 정답과 찍은 답 비교 따라서 n번째 문제의 정답(answer 배열)과 ..
문제에서 요구하는 그대로 풀어내면 되는 간단한 문제다. 먼저 2차원 배열 commands에는 [i,j,k]가 여러개 담겨있는 구조다. i와 j로는 부분 배열을 만들면 되고, k로는 정렬된 부분배열에서 값을 꺼내오면 된다. 반복문을 돌면서 i,j,k 값의 묶음을 꺼내자. for command in commands 사용하기 편리하도록 변수 i,j,k에 값을 저장해주자. 여기서 -1을 다 뺀 이유는?? 문제에서는 i번째, j번째, k번째라는 표현을 했는데, 배열 인덱스는 0부터 시작하므로 배열에 접근하기 위해서는 -1을 해줘야 한다. let i = command[0]-1 let j = command[1]-1 let k = command[2]-1 부분배열을 만들고, 정렬해주자. let sorted = array..