https://programmers.co.kr/learn/courses/30/lessons/43165?language=swift 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 programmers.co.kr https://sio2whocode.tistory.com/171 [프로그래머스] 타겟 넘버 (C++) https://programmers.co.kr/learn/courses/30/lessons/43165?language=cpp 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를..
https://programmers.co.kr/learn/courses/30/lessons/43165?language=cpp 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 programmers.co.kr Level 2 DFS 일련의 자연수를 담은 배열이 하나 주어지고, 이들을 적절히 더하고 빼서 target과 동일해지는 경우의 수가 몇인지 반환하는 문제 접근방법 하나의 숫자 당 양수, 음수 두 가지 경우를 고려한다. DFS에 적용해보면, 하나의 수에 대해 양수/음수가 각각 하나의 노드인 셈이다. 각 노드의 인접한 노..
https://programmers.co.kr/learn/courses/30/lessons/77484 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 1. 적용 알고리즘과 문제 설명 문제 설명 1부터 45까지의 수를 중복없이 6개가 나열된 로또 번호가 2개 주어진다. (배열 2개, 중복없음은 하나의 로또 번호안에서만 해당) 하나는 민우의 손상된 로또 번호로, 0으로 표시된 수가 손상된 수이다. 다른 하나는 당첨 번호를 담은 로또이다. 이때, 민우가 가진 로또가 될..
https://programmers.co.kr/learn/courses/30/lessons/12947 코딩테스트 연습 - 하샤드 수 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하 programmers.co.kr level1 수, 구현 하나의 양의 정수 x를 받아서 각 자리수를 더한 값으로 x가 나누어떨어지면 true 아니면 false를 반환하는 문제 접근방법 C++로 풀이했을 때는 정수의 자리수를 나누는 방식으로 구현했다. (훨씬 빠름) (solution2) Swift로는 고차함수를 또 사용하고 싶어서, reduce로 풀려고 x : Int -..
https://programmers.co.kr/learn/courses/30/lessons/12915?language=swift 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱 programmers.co.kr 정렬 level1 문자열 배열을 인덱스 n번째 문자를 기준으로 사전순으로 정렬한 배열을 반환하는 문제 접근방법 사용자 정의 정렬이다. C++에서 sort 라이브러리 함수에 자체적으로 구현한 compare함수를 전달하는 것과 같은 방식으로 swift에서도 Array의 s..

https://programmers.co.kr/learn/courses/30/lessons/12977?language=swift 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 구현 (조합) level 1 자연수를 담은 배열이 주어지고 그 중 3개의 값을 더해 소수인지 아닌지 판별 -> 더해서 소수인 개수를 반환하는 문제 소수 판별 + 조합 문제 이다. 접근방법 소수판별에는 에라토스테네스의 체를 사용하여 시간적 효율을 높이 구할 수도 있고, 제곱근을 사용하여 범위를 줄여 검사할 수도 있지만..
https://programmers.co.kr/learn/courses/30/lessons/77484 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 구현 level 1 1부터 45까지의 수를 중복없이 6개가 나열된 로또 번호가 2개 주어진다. (배열 2개, 중복없음은 하나의 로또 번호안에서만 해당) 하나는 민우의 손상된 로또 번호로, 0으로 표시된 수가 손상된 수이다. 다른 하나는 당첨 번호를 담은 로또이다. 이때, 민우가 가진 로또가 될 수 있는 최고 순위와 ..
programmers.co.kr/learn/courses/30/lessons/12982 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr 1. 적용 알고리즘과 문제 설명 그리디 알고리즘을 적용하는 문제이다. 그리디 알고리즘은 선택의 순간마다 당장 눈앞에 보이는 최적의 상황만을 쫓아 최종적인 해답에 도달하는 방법이다. 대표적인 문제로 knapsack 문제가 있는데, 이 문제는 0-1 knapsack 문제와 유사하지만 가방 속 아이템들의(여기서는 각 부서)가치가 아닌 아이템의 갯수만 많으면 되기 때문에 0-1 knap..
https://programmers.co.kr/learn/courses/30/lessons/86491?language=swift 코딩테스트 연습 - 최소직사각형 [[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133 programmers.co.kr 구현 명함의 가로와 세로 길이를 담은 [w,h] 배열이 명함의 갯수만큼 주어진다. (2차원배열, [[w,h]]) 명함들을 적절히 90도 회전하여 (w,h)->(h,w) 모든 명함을 담을 수 있는 지갑의 최소한의 넓이구하는 문제 접근방법 처음에는 모든 명함들이 회전한경우,회전하지않은경우 의 지갑의 최소 넓이를 모두 구해야 하나 싶었다. (브..
https://programmers.co.kr/learn/courses/30/lessons/42748?language=swift 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 정렬 자연수 (1~100) 배열이 주어지고 command : [시작점, 끝점, K]가 배열로 주어진다. 자연수 배열을 시작점과 끝점 범위에 맞게 자른뒤 정렬하고, 그 중 K번째수를 구한다 각 command의 K번째수를 담은 배열을 반환하는 문제 접근방법(접근방법1) command를 for문으로 순회하며 subArray를 구하고, 정렬한 뒤, K번째 인덱스를 result 배열에 append함 -> 최종적..
- Total
- Today
- Yesterday
- 프로그래머스
- 게임이론
- dp
- 정렬
- Swift
- 최단경로
- 트리
- 알고리즘
- 다이나믹프로그래밍
- 이분탐색
- 그리디알고리즘
- 백준
- 수학
- 백트래킹
- c++
- 자바
- 가장 큰 수 프로그래머스
- 최소힙
- 스택
- 동적계획법
- 우선순위큐
- 웹크롤링
- 가장 큰 수 Swift
- 브루트포스
- dfs
- 투포인터
- 파이썬
- 토마토
- 최대힙
- BFS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |