Algorithm (2139) 썸네일형 리스트형 (C++) - 백준(BOJ) 1871번 : 좋은 자동차 번호판 www.acmicpc.net/problem/1871 1871번: 좋은 자동차 번호판 각각의 자동차 번호판에 대해서, 좋은 번호판이면 "nice"를, 아니면 "not nice"를 출력한다. www.acmicpc.net 문자열을 다루는 문제였습니다. 풀이방법 abs와 stoi함수로 문제의 조건을 만족시킬 수 있도록 적절히 사용해주면 정답을 도출할 수 있습니다. Code #include using namespace std; int getIntFront(string front){ int sum = 0; for(int i = 0; i < front.size(); i++) sum += (front[i]-'A') * pow(26,front.size()-i-1); return sum; } int main(){ int .. (C++) - 백준(BOJ) 15904번 : UCPC는 무엇의 약자일까? www.acmicpc.net/problem/15904 15904번: UCPC는 무엇의 약자일까? 첫 번째 줄에 알파벳 대소문자, 공백으로 구성된 문자열이 주어진다. 문자열의 길이는 최대 1,000자이다. 문자열의 맨 앞과 맨 끝에 공백이 있는 경우는 없고, 공백이 연속해서 2번 이상 주어지는 www.acmicpc.net 문자의 서순("UCPC")을 지켜서 세주는 문제였습니다. 풀이방법 1. U일 때는 cnt = 1 2. C가 나왔을 때 2-1. cnt == 1이면 cnt = 2 2-2. cnt == 3이면 cnt = 4 3. P가 나왔을 때 cnt가 2라면 cnt = 3 4. cnt가 4라면 서순을 지켰고 적절히 축약한다면 UCPC를 만들 수 있습니다. Code #include using namespac.. (C++) - 백준(BOJ) 1173번 : 운동 www.acmicpc.net/problem/1173 1173번: 운동 첫째 줄에 다섯 정수 N, m, M, T, R이 주어진다. www.acmicpc.net 수학적으로 생각해 푼 문제였습니다. 풀이방법 * -1인 경우 : 운동시 바로 맥박이 M을 초과할 경우가 -1인 경우입니다. 아무리 최소 맥박에서 운동을 하더라도 운동 하자마자 제한 맥박을 초과시 운동을 n분할 수 없습니다. 그 외의 경우에는 휴식을 계속 취해서 맥박을 최소로 하거나 다음 운동을 바로 할 수 있을 때까지만 쉬어줌으로써 계속 운동을 할 수 있습니다. 1. 현재 맥박 + T(운동 시 늘어나는 맥박 수) > N >> m >> M >> T >> R; currentPulse = m; if(currentPulse + T > M){ cout (C++) - 백준(BOJ) 11586번 : 지영 공주님의 마법 거울 답 www.acmicpc.net/problem/11586 11586번: 지영 공주님의 마법 거울 천나라 민호성의 지영 공주님은 매우 아름답다. 공주님 자신도 이 세상 그 누구보다 자신이 아름답다는 것을 알고 있다. 공주님은 자신의 아름다움이 세월의 저편으로 사라지는 것을 매우 두려 www.acmicpc.net 문제에 나온대로 그대로 구현하는 문제였습니다. Code #include using namespace std; int n, mind; vector appearance(100); char ans[100][100]; int main(){ cin >> n; for(int i = 0; i > appearance[i]; } cin >> mind; if(mind == 1){ for(i.. (C++) - 백준(BOJ) 1371번 : 가장 많은 글자 답 www.acmicpc.net/problem/1371 1371번: 가장 많은 글자 첫째 줄부터 글의 문장이 주어진다. 글은 최대 5000글자로 구성되어 있고, 공백, 알파벳 소문자, 엔터로만 이루어져 있다. 그리고 적어도 하나의 알파벳이 있다. www.acmicpc.net 문자열을 다루는 문제였습니다. eof 즉 0을 만나면 입력을 종료해야합니다. 풀이방법 1. 알파벳 개수를 세줍니다. 2. 가장 큰 개수를 가진 알파벳을 순서대로 출력해줍니다. Code #include using namespace std; int big; int alpha[26]; int main() { while (1) { char c = 0; cin >> c; if (c == 0) break; if ('a' (C++) - 프로그래머스(고득점 kit - 힙(heap)) : 이중우선순위큐 답 programmers.co.kr/learn/courses/30/lessons/42628 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr heap을 사용할 때 구현이 너무 복잡하고 자꾸 틀려서 deque로 O(100만log100만)로 풀게 되었습니다.. 풀이방법 1. I일 경우에는 넣을 때마다 deque를 오름차순으로 sort해줍니다. 2. D일 경우 deque가 차 있다면 1일 때는 dq의 마지막을, -1일 때는 dq의 처음을 pop해주면 됩니다. Code #include using namespace std; vector solution(vector operations){ deque dq; vector answer; for(int i = 0; i < operations.size(); i.. (C++) - 백준(BOJ) 1526번 : 가장 큰 금민수 답 www.acmicpc.net/problem/1526 1526번: 가장 큰 금민수 첫째 줄에 N이 주어진다. N은 4보다 크거나 같고 1,000,000보다 작거나 같은 자연수이다. www.acmicpc.net dfs로 모든 경우의 수를 탐색하는 문제였습니다. 풀이방법 2의 7승(100만의 자릿수 + 1) 정도로 dfs를 수행하면 됩니다. Code #include using namespace std; int n,ans; void dfs(int sum){ if (sum > n) return; dfs(sum * 10 + 7); dfs(sum * 10 + 4); ans = max(ans, sum); } int main(){ cin >> n; dfs(0); cout (C++) - 백준(BOJ) 9625번 : BABBA 답 www.acmicpc.net/problem/9625 9625번: BABBA 상근이는 길을 걷다가 신기한 기계를 발견했다. 기계는 매우 매우 큰 화면과 버튼 하나로 이루어져 있다. 기계를 발견했을 때, 화면에는 A만 표시되어져 있었다. 버튼을 누르니 글자가 B로 변했 www.acmicpc.net dp문제였습니다. 풀이방법 1. i번째의 a는 i-1번째의 b로 대체됩니다. 2. i번째의 b는 i-1번쨰의 a와 i-1번째의 b로 대체됩니다. Code #include using namespace std; int a[45]; int b[45]; int pushed; int main(void){ cin >> pushed; a[0]=1; b[1]=1; for (int i = 2; i < pushed + 1; i++).. 이전 1 ··· 179 180 181 182 183 184 185 ··· 268 다음