프로그래머스

알고리즘/구현

프로그래머스 - 쿠키 구입

문제 https://school.programmers.co.kr/learn/courses/30/lessons/49995 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 처음에 누적합을 구한 후 l이 0~cookieSize, r이 cookieSize~l, m이 l~r 로 삼중 반복문을 사용해 풀었다. 정확성 테스트는 통과했는데 효율성 테스트에서 아무리 break를 줘도 4개의 테케가 틀려서 다시 풀었다.. 첫 번째 방법 (효율성 틀림) #include #include #include using namespace std; int solution(ve..

알고리즘/동적 계획법 (DP)

프로그래머스 - 스티커 모으기(2)

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12971# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 원형 배열에서 스티커의 최대 합을 구하는 문제였다. 문제 풀이 dp를 이용해 풀었다. 첫 번째 스티커를 뜯는 경우와 뜯지 않는 경우를 나눠 dp를 구하고 max 값을 구했다. N이 1부터 시작인 것을 놓치고 sticker 배열의 size가 1,2인 경우에 예외처리를 해주지 않아서 2개 정도의 테케가 틀렸다고 나왔었다. 주어진 입력값의 범위를 항상 주의해서 보자! #include #inclu..

알고리즘/구현

프로그래머스 - 기지국 설치

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12979 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 최소한의 기지국을 설치하는 문제였다. 문제 풀이 처음에는 각 기지국의 전파 범위를 start와 end로 계산해 pair 벡터에 저장하게 해서 문제를 풀었는데 4개의 테스트케이스에서 틀렸고 수정하기가 애매하고 코드도 지저분해서 다시 풀었다. pair 벡터에 저장하지 않고 i의 값을 옮겨주며 풀었다. #include #include using namespace std; int solution(i..

알고리즘/정렬

프로그래머스 - 숫자 게임

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12987# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr B 그룹의 최대 승점을 구하는 문제였다. 문제 풀이 A와 B 벡터를 정렬한 후 뒤에서부터 A>B / A B[indexB]){ indexA--; } else if(A[indexA] == B[indexB]){ indexA--; } } return answer; }

알고리즘/최단 경로

프로그래머스 - 배달

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12978 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1번 정점에서 K 이하의 거리인 정점의 개수를 구하는 문제였다. 문제 풀이 1번 정점에서 각 정점까지의 거리를 구하는 문제여서 다익스트라로 풀면 더 효율적이겠지만, N의 최댓값이 50이어서 플루이드를 사용해 풀었다. #include #include #include using namespace std; int dist[51][51]; int solution(int N, vector road, ..

알고리즘/구현

프로그래머스 - 점프와 순간 이동

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 목적지까지 도달하는데 필요한 최소한의 배터리를 구하는 문제였다. 문제 풀이 굉장히 쉬운 문제였는데 왜 level 2인지 잘 모르겠다. 마지막 ans++을 해준 이유는 마지막 n이 짝수든 홀수든 2/2 = 1, 3/2 = 1 로 1이 남게 되어 건전지 수를 1 더해줘야 하기 때문이다. #include using namespace std; int solution(int n) { int ans =..

알고리즘/구현

프로그래머스 - 영어 끝말잇기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12981# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 끝말잇기에서 틀린 사람을 찾는 문제였다. 문제 풀이 set을 이용해서 해당 단어가 이전에 나왔는지 확인했고, 이전 단어의 끝 글자를 저장해서 현재 단어의 첫 글자와 같은지 확인했다. #include #include #include #include using namespace std; set wordSet; vector solution(int n, vector words) { vector a..

알고리즘/구현

프로그래머스 - 스킬트리

문제 https://school.programmers.co.kr/learn/courses/30/lessons/49993 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 선행 스킬 조건을 만족한 스킬 트리의 개수를 구하는 문제였다. 문제 풀이 해시맵에 스킬과 선행 스킬을 키밸류로 저장하고 isLearn 배열을 이용해 선행 스킬이 있는 스킬인 경우 선행 스킬을 배웠는지 확인하도록 했다. #include #include #include using namespace std; unordered_map skillMap; //스킬, 선행스킬 int isAvailable..

hahihi
'프로그래머스' 태그의 글 목록 (2 Page)