목록전체 글 (414)
오답노트
https://www.acmicpc.net/problem/16927 16927번: 배열 돌리기 2 크기가 N×M인 배열이 있을 때, 배열을 돌려보려고 한다. 배열은 다음과 같이 반시계 방향으로 돌려야 한다. A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[2][2] ← A[2][3] ← A[2][4] A[2][5] www.acmicpc.net -문제 파악 배열돌리기1 의 시간복잡도 버전 - 나의 접근 배열을 돌렸을 때 첫번째 배열로 돌아오는 수를 찾아서 문제에서 주어지는 돌리는 횟수를 나눈 나머지 만큼만 돌릴려고 했지만, 돌아오는 수가 너무 큰건지 계속 런타임 오류가 발생했다. - 정답 그래서 가장 바깥 배열부터 차례대로 위의 접근 방식을 적..
https://www.acmicpc.net/problem/16926 16926번: 배열 돌리기 1 크기가 N×M인 배열이 있을 때, 배열을 돌려보려고 한다. 배열은 다음과 같이 반시계 방향으로 돌려야 한다. A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[2][2] ← A[2][3] ← A[2][4] A[2][5] www.acmicpc.net - 문제파악 NxM 배열이 주어지고 가장 밖에 원소들부터 안쪽으로 반시계 방향으로 요소들을 한 칸씩 옮긴 결과를 출력하라 - 정답 디버그 모드로 돌려서 노가다 했다. #include "bits/stdc++.h" using namespace std; int n, m, t; int arr[305][305];..
https://www.acmicpc.net/problem/16935 16935번: 배열 돌리기 3 크기가 N×M인 배열이 있을 때, 배열에 연산을 R번 적용하려고 한다. 연산은 총 6가지가 있다. 1번 연산은 배열을 상하 반전시키는 연산이다. 1 6 2 9 8 4 → 4 2 9 3 1 8 7 2 6 9 8 2 → 9 2 3 6 1 5 1 8 3 4 2 9 → www.acmicpc.net - 문제 파악 문제에서 요구하는 배열 돌리는 기능을 구현하여 입력으로 주어지는 NxM 배열을 돌린 결과를 출력하라 - 정답 #include "bits/stdc++.h" using namespace std; int arr[104][104]; int n, m, t; void func1() // 상하 반전 { int k = n..
CSS : Cascading style sheets HTML을 꾸며주는 언어 html이 웹페이지의 정보를 표현한다면, CSS는 html을 보기 좋게 디자인하는 역할 CSS 문법 h1 { color: yellow; font-size:2em; } 선택자(selector) 속성(property) 값(value) 선언(declaration) 선언부(declaration block) 규칙(rule set) CSS 주석 /* 주석입니다 */ /* 주석입니다 */ CSS 적용방식 Inline코드의 재활용이 쉽지 않아 잘 사용되지 않음 내용 해당 요소에 직접 스타일 속성을 이용해서 규칙들을 선언하는 방법 Internal 태그는 태그를 사용하여 규칙들을 선언 External스타일 규칙들을 별도의 외부 파일로 만들어 ht..
https://www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net - 문제파악 수빈이와 동생의 위치가 정수로 주어진다. 수빈이 위치에서 동생 위치로 가기위한 최소 시간을 출력하라 - 정답 주의해야하는 점 문제의 조건중에 순간이동은 0초가 걸린다. 그래서 순간이동을 했을 때 최소 시간이 0초가 될 수 있다. 예를 들어 동생이 2의 배수에 위치한다면 수빈이는 0초만에 이동 가능하다. (부럽다.) #include "bits/stdc+..
https://www.acmicpc.net/problem/13913 13913번: 숨바꼭질 4 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net - 문제 파악 수빈이의 위치와 동생의 위치가 정수로 주어지고 1차원 배열에서 수빈이 위치에서 동생 위치로 가는 최소 시간과 경로를 출력하라 -정답 주의가 필요했던 점 1. 수빈이 위치에서 동생 위치로 가는 최소 경로 출력 메모리 초과 발생하여 경로를 저장하는 배열을 조건문안에 넣어 최대한 메모리를 덜 차지하도록 했다. 2. 수빈이와 동생의 위치 차이가 동일할 때 ..
https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net - 문제파악 NxN 배열이 주어지고 배열 내에 값은 0과 1이 주어진다. 1이 상하좌우로 붙어있다면 인접해있다고 한다. 1이 인접한 그룹의 개수(단지의 개수)와 그룹내의 1의 개수(단지 내 건물 개수)를 출력하라 -정답 BFS로 풀이했다. 처음에 큐에 푸쉬하는 것도 체크해야한다. #include "bits/stdc++.h" using namespace std; int arr[26][26]; int ..
https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net - 문제 파악 정점의 개수와 간선의 개수가 주어지고 연결 요소의 개수를 출력하라 연결 요소 : 간선으로 이어진 정점들을 한 개의 연결 요소로 볼 수 있다. 간선으로 이어지지 않고 단독으로 있는 정점도 연결요소로 볼 수 있다. - 정답 #include "bits/stdc++.h" using namespace std; int arr[100..
https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net - 문제 파악 덱을 구현하는 문제이다. - 정답 덱은 앞으로도 뒤로도 값을 넣을수 있고, 반대로 앞으로도 뒤로도 값을 뺄수 있다. #include "bits/stdc++.h" using namespace std; int arr[10002]; int nsize = 0; void push_front(int k) { for (int i = nsize-1; i >= 0; i--) { ar..
https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net - 문제파악 큐의 구조를 파악할 수 있는 문제 - 정답 큐는 선입선출이다. 즉 먼저 들어온 요소가 나갈때도 먼저 나간다. 해당 문제에서 pop과 같다. C++ stl에서 queue를 제공하고 있다. #include "bits/stdc++.h" using namespace std; int arr[10002]; int nsize = 0; void push(int k) { arr[nsi..