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에 적용해보면, 하나의 수에 대해 양수/음수가 각각 하나의 노드인 셈이다. 각 노드의 인접한 노..
1. Enum과 Struct의 차이점 Enum 타입은 열거형 타입으로 연관된 값들의 집합이다. case 하나하나가 하나의 값을 나타내는 타입. Struct는 프로퍼티와 메서드로 구성된 타입. enum, struct 모두 class와 다르게 값 타입이며, 상속이 불가능하지만 프로토콜 채택은 가능함. 2. Int / Int32 / Int64 | UInt / UInt32 / UInt64 각각의 차이는 무엇인지? 모두 정수를 나타내는 데이터 타입. 뒤에 붙는 32,64는 타입이 표현할 수 있는 비트의 크기. Int는 음수와 0, 양수를 표현할 수 있고, UInt는 양수만 표현할 수 있음. 크기가 표시되지 않은 Int, UInt는 해당 프로그램이 컴파일되는 컴퓨터의 시스템 아키텍처를 따른다. 즉, 자신이 사용하는..
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) 모든 명함을 담을 수 있는 지갑의 최소한의 넓이구하는 문제 접근방법 처음에는 모든 명함들이 회전한경우,회전하지않은경우 의 지갑의 최소 넓이를 모두 구해야 하나 싶었다. (브..
- Total
- Today
- Yesterday
- 백준
- 게임이론
- 동적계획법
- 웹크롤링
- c++
- Swift
- dp
- 스택
- 백트래킹
- 파이썬
- 최단경로
- 수학
- 그리디알고리즘
- 자바
- BFS
- 우선순위큐
- 다이나믹프로그래밍
- 최소힙
- 토마토
- 최대힙
- 트리
- 정렬
- 투포인터
- dfs
- 가장 큰 수 프로그래머스
- 브루트포스
- 알고리즘
- 이분탐색
- 프로그래머스
- 가장 큰 수 Swift
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |