목록Computer (242)
Machineboy空

https://www.acmicpc.net/problem/1813문제요약N개의 말 중에 참인 말의 개수를 구하여라. 난이도Silver 5풀이 포인트Ad-Hoc의 규칙을 찾아내는 것!REVIEW경우의 수를 다 따져야 한다고 생각하니 머리가 아팠고, 무언가 예외없는 대단한 규칙을 발견해야만 할 것 같아 부담스러운 문제였는데AdHoc이라는 알고리즘이 있구나!를 새로이 알게 되었다.CODE#include using namespace std;int n, s;int a[51];bool hasT = false;int main(){ cin >> n; for (int i = 0; i > s; a[s]++; } for (int i = 51; i >= 0; i--) { i..

백준 문제 리스트17466231226091929코딩테스트에서 나올 수 있는 마지막 수학 이론이라고 한다.유클리드 호제법 많이 들어는 봤는데 직접 빼면서 구하는 방법이 참 신기했다.최대공약수를 정석으로 구하지 않고 호제법으로 구하면 시간복잡도가 현저히 낮아짐.
문제 난이도와 출제 범위총 4문제 출제자료구조: queue, vector, pair, map, set 등문자열 다루기: 문자열 자르기, 숫자 변환 등기존 라이브러리 위주 활용dfs, bfs 최단거리,경우의 수 등의 알고리즘 문제는 나오지 않았음.기본 자료구조와 문법을 숙지하니? 정도의 테스트였다.시험 환경모니토 앱 이용 원격 감시다중 모니터 사용 불가노트북 + 마우스, 키보드 연결 허용빈 종이 1장과 펜 허용(노트 불가)기존 프로그래머스 문제 에디터처럼 입출력 폼까지는 제공앞으로의 공부 방향일단 너무 기본기가 부족하다는 생각을 했다.c++은 문제풀이용이니까 하면서 소홀히 했던 언어 공부의 한계를 느꼈다. 자료구조별 C R U D 관련 메소드 암기문자열 공백 등 자유자재로 다루기알고리즘을 더 공부할 게 아..

https://www.acmicpc.net/problem/14469문제요약도착한 시간과, 검문 시간이 주어질 때 모든 소가 출입하는데 걸리는 최소 시간. 난이도Silver 4풀이 포인트max그리디REVIEW바로 맞아버려서 의아했다.하지만 모범 풀이에서 다음 소가 도착한 시간과, 이전 소가 점검을 마친 시간 사이에 간극이 있을 때,시간을 갱신해주는 로직과, 시간 경과를 더해주는 과정이 훨씬 간결하다. 배워두기. 또 따로 int형에 숫자를 받아 pair에 넣는 방식이 아니라 바로 pair요소에 집어넣는 것도 훨씬 간결해보인다. CODE// Mine#include using namespace std;int t,a,b;vector> v;int crtT;int main(){ cin >> t; for(i..
https://www.acmicpc.net/problem/11866 문제요약원소 개수 n, 제거해야하는 사람 k 요세푸스 순열을 출력하라! 난이도Silver 5풀이 포인트그리디가장 첫번째 회의는 진행한다고 가정하고 그 다음에 열 수 있는 회의부터 고려REVIEW 진짜 바보처럼 k를 3일 때만 가정하여 풀이를 구현했다가 틀렸다. queue를 활용하여 연속하는 순열만들기!쉽게 풀리니 문제 풀이가 재밌다 ㅎ CODE#include using namespace std;int n, k;queue q;vector v;int main(){ cin >> n >> k; for(int i = 1; i ";}
https://www.acmicpc.net/problem/1931 문제요약한 개의 회의실, 겹치지 않게 최대한 많은 회의를 진행하려면? 난이도Silver 1풀이 포인트그리디가장 첫번째 회의는 진행한다고 가정하고 그 다음에 열 수 있는 회의부터 고려REVIEW 우선 문제를 제대로 안 읽어서 해당 회의를 모두 진행할 수 있는 최소 회의실 수를 구하는 줄 알고,범위를 봤는데 2^32-1? 포기해버렸다. 아직 pair, map, set 등 자료 구조를 적절히 자유자재로 구사할 줄 모르는 것 같다.요런 아이큐 테스트 스러운 문제는 꼭 맞추고 싶은데 또 답으로 달려갔기에 반성. CODE#include using namespace std;int from, to, n, idx = 0, ret =1;int main(){..

비트연산 활용idx번째 비트 끄기S &= -(1idx번째 비트 XOR 연산S ^= (1 최하위 켜져있는 비트 찾기idx = (S & -S)크기가 n인 집합의 모든 비트를 켜기(1 idx번째 비트를 켜기S |= (1 idx번째 비트가 켜져있는지 확인하기if(S & (1 idx 번째 비트 끄기S &= ~ (1 int S = 18;int idx = 1;S &= ~(1 idx 번째 비트 XOR연산S ^= (1 토글 기능이랑 비슷, 스위치 켜고 끄기처럼 원하는 idx 비트 껐다 켰다 하는 법 최하위 켜져있는 비트 찾기idx = (S & -S) 크기가 n인 집합의 모든 비트 켜기(1 idx번째 비트를 켜기S |= (1 idx번째 비트가 켜져있는지 확인하기if(S & (1 https://exercism.o..
https://www.acmicpc.net/problem/1987 1987번: 알파벳 세로 $R$칸, 가로 $C$칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 ($1$행 $1$열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 www.acmicpc.net 문제요약 밟지 않은 새로운 알파벳 칸으로만 갈 수 있을 때, 이동할 수 있는 최대 칸 난이도 Gold 4 풀이 포인트 DFS 활용 이전 글자와 중복 체크 REVIEW 아직 문제가 주어졌을 때, bfs와 dfs중 무엇을 선택해야할지 모르겠다. dfs는 감이 오는데 bfs의 경우 아직 낯설다.. 이 문제의 경우 string에 지나온 값들을 누적해주고 그것을 초기화할 시점을 잘못 짚어 모든..