| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- python
- 네트워크 관리사
- IT 동향
- 코테
- it 뉴스
- 싸피
- 코딩테스트
- 네트워크 관리사 2급
- 카카오
- 신문 스크랩
- IT 트렌드
- 인앱결제
- 싸피셜
- java 객체지향 프로그래밍
- it 이슈
- 우테코
- SSAFY
- 리얼클래스
- KT
- 백준위
- 네트워크 관리사 2급 실기
- 신문스크랩
- 백준
- 구글
- Java
- html
- 프로그래머스
- SSAFY 7기
- 코딩테스트 연습
- SSAFYcial
- Today
- Total
목록전체 글 (237)
개발자일걸요..?
문제링크 : www.acmicpc.net/problem/1780 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1의 세 값 중 하나가 저장되어 있다. 우리는 이 행렬을 적절한 크기로 자르려고 하는데, 이때 다음의 규칙에 따라 자르려고 한다. www.acmicpc.net 1) 입력받은 숫자를 이중 vector에 입력 2) quadTree 응용판을 이용해 정해진 범위가 병합이 가능한지 판정 2-1) 정해진 범위(원 사이즈 1/3크기)의 병합이 가능하면 answer에 begin input 2-2) 병합이 불가능하면 size를 더 작게해서 재도전 3) 9분할이 되었기에 함수 역시 각각의 범위를 가지고 9번 실행되어야함 메모리 : 69968KB 시간 : 1216..
문제링크 : www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net 1) getline으로 input받고 하나씩 vector에 저장(숫자 다음에 오는 입력을 getline으로 받기 위해선 개행 때문에 cin.ignore()이 필요하다) 2) quadTree 알고리즘을 이용해 vector를 4분할하여 병합가능한지 확인 2-1) 병합 가능하면 answer에 병합한 색깔숫자 입력 2-2) 병합불가능하면 다시 4분할 하여 병합가능한지 확인 3) 형식에 맞춰 추..
문제링크 : www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net 1) 주어진 수들을 vector에 넣기 2) vector를 4분할로 나누는 쿼드트리를 이용하여 병합 가능한지 확인 2-1) 병합이 불가능하면 pass(반복을 통해 그부분을 또 4분할 할것이기에) 2-2) 병합이 가능하면 answer에 병합된 부분 색 입력 3) 병합이 안되는 부분의 4분할을 반복해서 answer에 결과값 입력 4) answer에서 숫자 1과 0을 세서 결과..
문제링크 : www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 1) N, N개의 숫자 목록, M, M개의 target목록 입력받기 2) N개의 숫자목록은 각각의 요소가 몇개인지 counter로 확인, 중복을 제거하고 오름차순으로 정렬하기 3) 0~M-1까지의 target목록을 돌면서 N개의 숫자목록에 해당 숫자가 있는지 확인 => 이분탐색을 이용하여 확인(배열의 left, right, mid를 지정하고 mid값과 target값..
문제링크 : www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 1) 숫자배열, 찾고자 하는 수의 배열 입력받기 2) 처음 주어진 숫자 배열만 정렬(정렬함수가 제일 시간복잡도가 작음) 3) 찾고자 하는 수의 배열의 수 만큼 함수를 돌리면서 존재여부 확인 3-1) 처음 주어진 숫자배열의 경계 밖의 숫자인지 확인 3-2) 처음 주어진 숫자배열의 경계의 숫자인지 확인 3-3) 위의 경우가 모두 아니라면 재귀함수를 이용해..
문제링크 : www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 1) case 수 T, 명령어 commend, 배열의 수 N, 배열 number를 입력받음 2) number의 내용을 ,와 ] 기호를 기준으로 숫자와 숫자가 아닌 것을 구분하여 dq에 push_back(두 자리 이상의 수일 경우를 고려하여) 3) commend의 내용을 앞에서부터 한 자리씩 이행 3-1) R인 경우 reverse신호를 !reverse로 변경하여 이전과 순서변화가 있음을 표시 3-2) D인 경우 3-2-1) dq가 empty면 error 신..
문제 링크 : www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net 1) queue/deque에 1~N까지의 숫자를 차례대로 입력 2) 찾고자 하는 수 역시 차례대로 vector에 입력 3) 찾고자 하는 숫자가 0이 될때까지 아래 반복 3-1) queue의 첫번째 값이 vector에 첫번째 값과 같으면 둘다 pop 3-2) queue의 첫번째 값이 vector에 첫번째 값과 다르면 찾고자 하는 값이 queue의 어디에 있는지 index 파악 3-3) index..
문제링크 : www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 버전 1. STL 이용 ( 메모리 : 2020KB 시간 : 384ms ) #include #include #include using namespace std; int main() { int N = 0; cin >> N; deque dq; string commend = ""; int a = 0; while (N--) { cin >> commend; if (commend == "push..
문제 링크 : www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 1) (문서의 중요도, 몇번째 문서인지)를 pair로 만들어 queue에 저장 2) priority queue를 이용하여 중요도 순으로 문서 나열 3) priority queue 와 queue를 비교하며 중요도가 높은 문서일땐 count를 증가(몇번째에 출력되는지 알기 위해) 더 높은 중요도의 문서가 존재하면 queue의 front를 맨뒤로 이동 4) 내가 원하는 문서의 번호는 queue에 저장되어 ..
문제링크 : www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 1) vector를 이용해 1~N까지의 숫자를 나열(1~N까지의 숫자를 0~N-1칸에 배열) 2) index = K-1로 시작해 vector[index]값을 요세푸스 순열에 추가 3) 이미 요세푸스 순열에 추가된 vector[index]값은 삭제 4) index를 K-1값(도착지점 포함 K칸이니까)만큼 증가시키는데 배열의 size를 넘지않게 주의 5) vector의 요소가 1개 남을 때까지(index변경 수식에서 zero division발생 방지) 2~4과정 반복 6) 하나 남은 v..