목록전체 글 (129)
끄적끄적
출처 : https://programmers.co.kr/learn/courses/30/lessons/43165 문제 설명 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항 주어지는 숫자의 개수는 2개 이상 20개 ..
출처 : https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3,..

문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/42578?language=python3 코딩테스트 연습 - 위장 programmers.co.kr - 문제 풀이 - 여러 종류의 옷이 있고 각 종류별로 1개 이하를 입을 수 있다면 몇 가지의 옷이 가능하냐는 문제이다. 약간 이상하긴 하지만, 위 예제에 따르면 yellow_hat만 입은 것도 옷을 입은 것으로 친다고 하는 것을 보아, 여러 종류 중 하나만이라도 입은 상태도 포함하여 모든 경우의 수를 계산하는 문제이다. 위의 예제 #1을 단순화하면 아래와 같은 그림이 나온다. headgear는 총 2개 있으니, 스파이에게는 총 3가지의 경우의 수가 있다. 1번을 입는다. 2번을 입는다. headgear를..
문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/42577?language=python3 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr 한 번호가 다른 번호의 접두어인 경우 false를, 아닌 경우 true 리턴 해시 유형의 문제인 만큼 '완주하지 못한 선수 https://programmers.co.kr/learn/courses/30/lessons/42576' 에서 배웠던 unordered_map을 활용하려 했는데 풀이법이 떠오르지 않아 인터넷을 ..
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42576?language=python3 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr vector로 풀이하는 방법과 해시로 풀이하는 방법이 있다. map은 key와 value를 쌍으로 사용하는 자료구조 key를 이용하여 value를 찾는다. 해시를 사용하는 이유 : 접근 속도가 빠르다. python의 경우 딕셔너리를 이용하여 풀면 된다. 벡터를 이용한 솔루션은 정렬을 사용하면 된다...
✅ 프로시저 넓은 의미로는 어떤 업무를 수행하기 위한 절차를 의미. 어떤 프로세스를 절차적으로 기술해 놓은 것. ✅ 함수 프로시저의 각 프로세스를 수행하기 위해 필요한 기능들. ✅ #region과 #endregion #region과 #endregion 옆에 코멘트를 달아서 #region을 접은 경우에도 코멘트 언제든지 확인 가능. ✅ 동적 로딩 (dynamic loading) 컴퓨터 프로그램이 메모리로 라이브러리 또는 다른 프로그램을 로딩하는 방식으로, CPU의 메모리 사용량을 줄이기 위해 일부 라이브러리 코드의 로딩을 미뤄둔다. (실행 시에 모든 클래스가 로딩되지 않고 필요한 시점에 로딩) ✅ 2-Tier와 3-Tier의 비교 2-Tier : 데이터베이스 미들웨어를 사용한 아키텍쳐 3-Tier : 그 ..
출처 : https://www.acmicpc.net/problem/2467 2467번: 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하의 정수이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 오름차순으로 입력되며, 이 수들은 모두 - www.acmicpc.net 이미 입력에서 정렬되어 있으므로 정렬할 필요는 없고, 합의 부호에 따라 왼쪽과 오른쪽 포인터를 이동시켜주면 된다. (투포인터) x에 절댓값을 대입시키면 안되는 이유 x에 절댓값을 바로 대입시켜서 비교하게 되면 x는 항상 0보다 커지기 때문에 정확한 비교를 할 수 없게 됨. 따라서 abs(x) 이런식으로 해줘야 함.

1. 괄호 (9012) 출처 : https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net *stack 구현시 list 사용 input으로 받아진 문자열 s를 바로 list로 집어넣어준다. 그 다음, sum 변수를 두어 증가/감소 시켜주며 비교해나가면 된다. 2. 카드2 (2164) 출처 : https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터..