목록Programmers/Level 2 (79)
GitHubSeob

문제 https://school.programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 문제를 대충 봐서인지, 제대로 이해 못한건지 입출력 예와 여러가지 경우의 수가 생각나 쉽게 접근을 못했다. 질문글을 봤더니 이미 완성된 튜플이 있고, 그의 부분집합들이 s로 주어지고, 결과는 숫자의 빈도수 기준으로 내림차순된 숫자들을 나열한 것이었다. 따라서 문자열에서 '{', '}', ',' 만 제외하고 숫자들만 따로 저장하고, 빈도수를 저장하여 정렬하여 return하면 된다. m..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42578 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 옷의 조합의 개수를 return 하는 문제이다. 옷은 하나만 입을 수도 있고, 여러 종류를 조합하여 입을 수 있지만 같은 종류의 옷은 하나밖에 입지 못한다. 따라서 옷을 종류별로 저장하고, 개수에 1을 더한 값들을 곱하면 된다. (안 입을 경우 포함) 얼굴이 1개, 상의가 2개, 하의가 3개, 겉옷이 0개 있다면 얼굴은 안 입을 경우, 1번을 입을 경우 해서 2가지의 경우 (2C1)..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 문제에서 캐시 교체 알고리즘은 LRU (Least Recently Used)를 사용한다고 한다. 용량이 부족한 경우 가장 오랫동안 사용되지 않은 캐시를 교체한다. map 두 개를 이용한다. 하나는 key는 인덱스, value는 도시이름이고 오름차순으로 정렬한다. 다른 하나는 key는 도시이름, value는 인덱스로 구성된 map이다. 도시를 입력받으면 {도시, 인덱스}, {인덱스, ..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12949 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 곱셈 방법은 알지만 식으로 어떻게 나타낼지 몰라서 고민을 좀 했다. 먼저 x*y과 n*m 벡터가 있으면 y와 n은 같아야 하고 최종적인 크기는 x*m 크기의 행렬이 된다. 새로 만들 벡터는 y크기는 arr1의 크기, x크기는 arr2의 가로 크기인 arr2[숫자]의 크기로 두면 된다. 크기가 넉넉한 행렬 1과 행렬 2가 있으면 행렬 1에서는 가로방향으로, 행렬 2에서는 세로방향 순서..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/87390 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 1 2 3 2 2 3 3 3 3 숫자는 항상 테두리에만 추가가 된다. 이들의 좌표를 잘 보면 큰 수는 항상 같은 걸 알 수 있다. 3x3 배열에서 x는 0, 1, 2, 0, 1, 2.. => num % 3, y는 3칸을 지나면 +1이므로 num / n이다. 숫자는 0이 아닌 1부터 시작하므로 1을 더해야 한다. left부터 right까지 y와 x 중 더 큰 수에 1을 더한 값을 an..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 elements크기만큼 벡터를 선언하고, 변수 두 개를 선언하여 하나는 벡터 인덱스 변수, 다른 하나는 1씩 증가시켜 숫자를 고르는 인덱스로 선언했다. 첫 줄은 idx2 = 0 이므로 바로 숫자를 저장한다. 그다음은 idx2 = 1이므로 한 칸 오른쪽의 숫자를 저장한다. 그다음은 idx2 = 2이므로 두 칸 오른쪽의 숫자를 저장한다. 벡터의 크기-1만큼 반복한다. 7+9+1+1+4..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 우선순위 큐를 이용하여 풀었다. 정렬을 한 뒤, 이번 귤과 다음귤이 같지 않으면 cnt값을 우선순위 큐에 push 한다. 그렇게 되면 우선순위 큐에는 크기가 같은 귤들이 몇 개씩 있는지, 개수만 들어간다. 따로 정렬 설정을 안 했으므로 우선순위 큐 top부분에는 가장 큰 숫자가 들어간다. 반복문을 돌려 K가 0 이하가 될 때까지 K - pq.top()을 하여 상자에 귤을 담는다. ..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 n이 1이면 1, n2이 2이면 1+1, 2 = 2개 n이 3이면 1+1+1, 2+1, 1+2 .... n개는 n-2의 모든 경우에서 +2를 더한 것과 같고, n-1의 모든 경우에서 +1을 더한 것과 같다. 따라서 DP[n] = DP[n-1] + DP[n-2]이다. n이 0일 때, 1일 때는 따로 1로 값을 저장하고, 2부터는 반복문을 돌리면 된다. 나머지 연산 꼭! 코드 #incl..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12953 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 유클리드 호제법으로 최대공약수(gcd)를 구하고 최대공약수를 이용해 최소공배수(lcm)를 구할 수도 있다. 대신에 더 간편한 STL을 이용해 최소공배수를 구했다. 반복문을 이용해 N개의 최소공배수를 구할 수 있다. 코드 #include #include #include using namespace std; int solution(vector arr) { int answer(1), id..