분류 전체보기

coding_test/BAEKJOON

백준 1747번 C++ 풀이

https://www.acmicpc.net/problem/1747 1747번: 소수&팰린드롬 어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다. 어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고, www.acmicpc.net 시간 제한 메모리 제한 solved.ac 티어 2초 256MB 실버 1 문제 어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다. 어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고, 소수이면서 팰린드롬인 수 중에서, 가장 작은 수를 구하는..

coding_test/BAEKJOON

백준 2110번 C++ 풀이

https://www.acmicpc.net/problem/2110 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net 시간 제한 메모리 제한 solved.ac 티어 2초 128MB 골드5 문제 도현이의 집 N개가 수직선 위에 있다. 각각의 집의 좌표는 x1, ..., xN이고, 집 여러개가 같은 좌표를 가지는 일은 없다. 도현이는 언제 어디서나 와이파이를 즐기기 위해서 집에 공유기 C개를 설치하려고 한다. 최대한 많은 곳에서 와이파이를 사용하려고 하기 때문에, ..

coding_test/BAEKJOON

백준 5430번 C++ 풀이

https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 시간 제한 메모리 제한 solved.ac 티어 1초 256MB 골드5 문제 선영이는 주말에 할 일이 없어서 새로운 언어 AC를 만들었다. AC는 정수 배열에 연산을 하기 위해 만든 언어이다. 이 언어에는 두 가지 함수 R(뒤집기)과 D(버리기)가 있다. 함수 R은 배열에 있는 수의 순서를 뒤집는 함수이고, D는 첫 번째 수를 버리는 함수이다. 배열이 비어있는데 D를 사용한 경우에는 에러가 발생한다. 함수는 조합해서 한 번에 사용할 수 있다. 예를 들어,..

coding_test

C++로 알고리즘 풀이할 때 유용한 헤더파일, bits/stdc++.h

초반에는 A라는 함수가 어떤 헤더파일에 정의되어있는지 공부하는 것은 중요하지만, 백준문제를 풀다보면 필요한게 있을 때마다 헤더파일을 include하는게 여간 귀찮은게 아니다. 그래서인지 자주 쓰는 헤더파일을 기본적으로 include한 stdc++.h 헤더파일이 gcc계열의 컴파일러는 표준 라이브러리에 bits라는 디렉터리에 기본적으로 존재한다(visual studio에는 없음. 사용자가 직접 헤더파일을 넣어야 함). 그래서 이 헤더파일에는 무엇이 들어있는가 궁금할텐데, 파일 내용은 다음과 같다(필자가 가지고 있는 파일임). // C #ifndef _GLIBCXX_NO_ASSERT #include #endif #include #include #include #include #include #include ..

coding_test/BAEKJOON

백준 1158번 C++ 풀이

https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 시간 제한 메모리 제한 solved.ac 티어 2초 256MB 실버5 문제 요세푸스 문제는 다음과 같다. 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다. ..

coding_test/BAEKJOON

백준 1406번 C++ 풀이

https://www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 시간 제한 메모리 제한 티어 0.3초 512MB 실버3 문제 한 줄로 된 간단한 에디터를 구현하려고 한다. 이 편집기는 영어 소문자만을 기록할 수 있는 편집기로, 최대 600,000글자까지 입력할 수 있다. 이 편집기에는 '커서'라는 것이 있는데, 커서는 문장의 맨 앞(첫 번째 문자의 왼쪽), 문장의 맨 뒤(마지막 문자의 오른쪽), 또는 문장 중간 임의의 곳(모든 연속된 두 문자 사이)에 위치할 수..

Data Structure

[C] 단일 연결 리스트(Single linked list) 구현

연결 리스트란, 하나의 노드가 값과 다음 노드를 가르키는 노드로 이루어진 자료구조이다. 그림으로 정리하면 다음과 같다. 이때, node가 다음 노드만을 가르키기 때문에, 단일 연결 리스트라고 한다. 그런데 우리는 이미 배열(array)이 있는데, 왜 이것을 사용해야 하는지 의문이 들 것이다. 필자도 연결리스트가 "노드로 이루어진 구조이다"라는 것만 어렴풋이 알고 있었을 때 이 생각을 했었다. 그 이유는 생각보다 간단했다. 왜냐하면 배열과 연결리스트는 trade-off 관계이기 때문이다. trade-off란 한 특성이 좋아진다면, 다른 특성이 안좋아지는데, 이 둘의 관계가 이러한 특성을 갖기 때문이다. 배열의 경우, 원소에 접근하는 것은 효율적이지만, 데이터를 추가하거나 삭제하기 위해서는, 그 위치의 요소..

coding_test/BAEKJOON

백준 2805번 C++ 풀이

https://www.acmicpc.net/problem/2805 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net 시간 제한 메모리 제한 티어 1초 256MB 실버3 문제 상근이는 나무 M미터가 필요하다. 근처에 나무를 구입할 곳이 모두 망해버렸기 때문에, 정부에 벌목 허가를 요청했다. 정부는 상근이네 집 근처의 나무 한 줄에 대한 벌목 허가를 내주었고, 상근이는 새로 구입한 목재절단기를 이용해서 나무를 구할것이다. 목재절단기는 다음과 같이 동작한다. 먼저, 상근이는 절..

CodeJin
'분류 전체보기' 카테고리의 글 목록 (16 Page)