본문 바로가기

구현25

[백준] 18870번 - 좌표 압축 (C++) 문제 및 풀이 문제) 백준 - 정렬(Sorting) - 좌표 압축 -> https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net n이 최대 100만이기 때문에 O(nlogn)으로 짜야한다. 좌표의 값과 인덱스를 저장 후 값에 대하여 오름차순으로 정렬한다. 그 후 ans에 압축 적용된 값을 넣는다. C++ 소스 코드) 2021. 6. 29.
[백준] 2503번 - 숫자야구 (C++) 문제 및 풀이 문제) 백준 - 구현 - 숫자 야구 -> www.acmicpc.net/problem/2503 2503번: 숫자 야구 첫째 줄에는 민혁이가 영수에게 몇 번이나 질문을 했는지를 나타내는 1 이상 100 이하의 자연수 N이 주어진다. 이어지는 N개의 줄에는 각 줄마다 민혁이가 질문한 세 자리 수와 영수가 답한 스트 www.acmicpc.net 분명 파이썬으로 풀 때는 쉬웠는데... 막상 C++로 구현하려니 어려웠던 문제. 구현 능력을 간과하지 말자. 소스 코드) 2021. 4. 13.
[백준] 15917번 - 노솔브 방지문제야!! (C++) 문제 및 풀이 문제) 백준 - 수학(Mathematics) - 노솔브 방지문제야!! www.acmicpc.net/problem/15917 15917번: 노솔브 방지문제야!! 어떤 수 a가 2의 거듭제곱꼴로 나타내어진다고 해 봅시다. 그렇다면, a = 2n (단 n ≥ 0인 정수) 를 만족할 겁니다. 보통, 각 비트별로 검사를 하면서, 켜져 있는 비트의 개수를 알아내는 것도 좋은 www.acmicpc.net 완전 탐색을 이용한 풀이) #include #include using namespace std; int q; bool isTwo(int n) { for (int i = 0; i < 31; ++i) { if (pow(2, i) == n) return true; } return false; } int main() { i.. 2021. 3. 25.
[프로그래머스] 2019 카카오 공채 - 실패율 (파이썬) 문제 및 풀이 문제) 프로그래머스 - 2019 카카오 공채 - 실패율-> 코딩테스트 연습 - 실패율 | 프로그래머스 (programmers.co.kr)코딩테스트 연습 - 실패율실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스programmers.co.kr ① 나의 풀이관찰을 하다 보면 플레이어가 도달한 스테이지( j )와 해당 스테이지( i )를 비교하여 실패율을 계산하여 실패율과 해당 스테이지를 result 리스트에 넣어준다. 플레이어가 도달한 스테이지가 해당 스테이지보다 높은 경우( j > i ): 플레이어는 스테이지에 도달했고 성공한 경우이므로 participant만 1을 늘린.. 2021. 3. 4.
[프로그래머스] 2019 카카오 공채 - 오픈채팅방 (파이썬) 문제 및 풀이 문제) 프로그래머스 - 2019 카카오 공채 - 오픈채팅방 -> 코딩테스트 연습 - 오픈채팅방 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr ① 나의 풀이 Dictionary 형태로 record의 유저 아이디와 닉네임을 취합하기 위해서 collections의 Counter 모듈을 이용하자. 각 record의 원소를 split 하여 order 리스트로 받아준다. record탐색을 두 번 해주는데, 첫 탐색에서 유저 아이디에 대한 최종 닉네임을 결정해주고 두 .. 2021. 3. 4.
[백준] 1195번 - 킥다운 (파이썬) 문제 및 풀이 문제) 백준 - 구현(Implementation) - 킥다운 -> www.acmicpc.net/problem/1195 1195번: 킥다운 첫 줄에는 첫 번째 기어 파트를 나타내는 1과 2로 구성된 문자열이 주어진다. 두 번째 줄에는 마찬가지로 두 번째 기어 파트를 나타내는 1, 2로 구성된 문자열이 주어진다. 여기서 1은 홈을, 2는 www.acmicpc.net 입력 첫 줄에는 첫 번째 기어 파트, 두 번째 줄에는 두 번째 기어 파트가 1,2로 구성된 문자열이 주어진다. 1은 홈(들어간 부분), 2는 이(튀어나온 부분)를 의미한다. 먼저 너비를 구하기 전에 어떤 경우에 기어가 맞물릴 수 있는지 알아보자. ①: 짧은 기어 파트가 1이고 긴 기어 파트가 2일 때, 서로 맞물려 기어를 끼울 수 있다. ②: 긴.. 2021. 2. 3.
[백준] 12904번 - A와 B (파이썬) 문제 및 풀이 문제) 백준 - 그리디 알고리즘(Greedy) - A와 B -> www.acmicpc.net/problem/12904 12904번: A와 B 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수 www.acmicpc.net 문자열 S를 T로 바꾸는데 연산이 두 가지인데, 이를 반대 관점에서 해석하여 문제를 풀려고 한다. ① S → T 문자열의 뒤에서 A를 추가한다. 문자열을 뒤집고 뒤에 B를 추가한다. ▼ ② T → S 문자열의 뒤에서 A를 제거한다. 문자열의 뒤에서 B를 제거하고 문자열을 뒤집는다. ① 관점에서 답을 구현하기 위.. 2021. 1. 31.
반응형