코딩테스트/프로그래머스
-
[문제] 코딩테스트 연습 - 단어 변환 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 요구사항이 좀 있어서 어려워 보일 수 있지만 하나씩 차근차근 해보면 생각보다 쉽게 풀린는 문제였다. 우선 첫번째로 oneCheck 라는 함수를 만들어서 알파벳이 1개만 다른지 아닌지 확인을 하는 bool형태의 함수를 만들었다. 두번째로는 bfs를 이용해서 begin부터 시작해서 words의 단어들을 확인해보는 함수를 만들었다. 세번째로 bfs를 이용할때 한번이라도 단어를 선택했던 단어는 중복처리를 없..
[C++] 단어 변환[문제] 코딩테스트 연습 - 단어 변환 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 요구사항이 좀 있어서 어려워 보일 수 있지만 하나씩 차근차근 해보면 생각보다 쉽게 풀린는 문제였다. 우선 첫번째로 oneCheck 라는 함수를 만들어서 알파벳이 1개만 다른지 아닌지 확인을 하는 bool형태의 함수를 만들었다. 두번째로는 bfs를 이용해서 begin부터 시작해서 words의 단어들을 확인해보는 함수를 만들었다. 세번째로 bfs를 이용할때 한번이라도 단어를 선택했던 단어는 중복처리를 없..
2023.02.02 -
[문제] https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] BFS를 활용한 최소 거리 구하기 문제이다. 0,0에서 n,m까지의 2차원 평면에서 최소 거리를 구해야 하기 때문에 DFS가 아니라 BFS를 활용해야 한다. [코드] #include #include using namespace std; int visited[101][101]; int bfs(vector maps,int n, int m){ int result = 0; int d..
[C++] 게임 맵 최단거리[문제] https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] BFS를 활용한 최소 거리 구하기 문제이다. 0,0에서 n,m까지의 2차원 평면에서 최소 거리를 구해야 하기 때문에 DFS가 아니라 BFS를 활용해야 한다. [코드] #include #include using namespace std; int visited[101][101]; int bfs(vector maps,int n, int m){ int result = 0; int d..
2023.02.02 -
[문제] https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] DFS를 이용해서 완전탐색을 해보자. 문제에서 나오는 numbers의 숫자를 +나 - 를 이용하면서(제일 처음숫자가 음수가 될 수도 있다.) 전부 더한 값이 target이 나오게끔 만들어주자. DFS 함수를 만들고 해당 함수에서 더해지는 값이 +인 함수와 -인 함수를 재귀를 통해서 돌리면 생각보다 간단하게 답이 나올 수 있다. *주의사항 : 재귀를 통해서 함수를 만들때 re..
[C++] 타겟 넘버[문제] https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] DFS를 이용해서 완전탐색을 해보자. 문제에서 나오는 numbers의 숫자를 +나 - 를 이용하면서(제일 처음숫자가 음수가 될 수도 있다.) 전부 더한 값이 target이 나오게끔 만들어주자. DFS 함수를 만들고 해당 함수에서 더해지는 값이 +인 함수와 -인 함수를 재귀를 통해서 돌리면 생각보다 간단하게 답이 나올 수 있다. *주의사항 : 재귀를 통해서 함수를 만들때 re..
2023.02.02 -
[문제] https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 반복문을 이용해서 우선순위 큐의 첫번째 원소가 K값 미만일 때 계속 돌려주고 만약 반복문 도중에 우선순위 큐의 사이즈가 0이하가 된다면 -1을 리턴해주자. * pq의 첫번째 원소가 K값 이하라고 생각하고 계산을 했다가 테스트 케이스 18, 20, 21에서 계속 오류가 걸렸었다. [코드] #include #include #include #include using namespa..
[C++] 더 맵게[문제] https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 반복문을 이용해서 우선순위 큐의 첫번째 원소가 K값 미만일 때 계속 돌려주고 만약 반복문 도중에 우선순위 큐의 사이즈가 0이하가 된다면 -1을 리턴해주자. * pq의 첫번째 원소가 K값 이하라고 생각하고 계산을 했다가 테스트 케이스 18, 20, 21에서 계속 오류가 걸렸었다. [코드] #include #include #include #include using namespa..
2023.01.02 -
[문제] https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 조건을 나눠서 생각해보자. 우선 제일 처음 값이 (이 아니라면 false가 되어야 한다. 그리고 s가 순서대로 (라면 계속해서 저장을 하고 )인데 만일 저장된 값이 없다면 false )인데 저장된 값이 있다면 stack을 한개 빼주자. 마지막으로 다 뺐을때 stack의 값이 0이 아니라면 false를 return 해주자. [코드] #include #include #inclu..
[C++] 올바른 괄호[문제] https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 조건을 나눠서 생각해보자. 우선 제일 처음 값이 (이 아니라면 false가 되어야 한다. 그리고 s가 순서대로 (라면 계속해서 저장을 하고 )인데 만일 저장된 값이 없다면 false )인데 저장된 값이 있다면 stack을 한개 빼주자. 마지막으로 다 뺐을때 stack의 값이 0이 아니라면 false를 return 해주자. [코드] #include #include #inclu..
2022.12.03 -
[문제] https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 반복된 숫자를 제거하고 넣는 문제. 처음 숫자를 넣은 뒤에 만일 넣었던 값이 이전에 넣었던 값과 동일하다면 넣지 않는 방식으로 구현하였다. [코드] #include #include using namespace std; vector solution(vector arr) { vector answer; answer.push_back(arr[0]); //arr만큼 반복 for(in..
[C++] 같은 숫자는 싫어[문제] https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 반복된 숫자를 제거하고 넣는 문제. 처음 숫자를 넣은 뒤에 만일 넣었던 값이 이전에 넣었던 값과 동일하다면 넣지 않는 방식으로 구현하였다. [코드] #include #include using namespace std; vector solution(vector arr) { vector answer; answer.push_back(arr[0]); //arr만큼 반복 for(in..
2022.12.03