일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 문자열 처리
- 스택
- House of Orange
- 동적 계획법
- RTL
- 큐
- 이진트리
- DFS
- fsb
- tcache
- syscall
- 완전 탐색
- 브루트 포스
- OOB
- 스위핑 알고리즘
- 이진 탐색
- 다이나믹 프로그래밍
- off by one
- 투 포인터
- BFS
- BOF
- 수학
- ROP
- 이분 탐색
- 에라토스테네스의 체
- 연결리스트
- 분할 정복
- heap
- 포맷스트링버그
- 백트래킹
- Today
- Total
목록알고리즘/Backjoon (117)
SDJ( 수돈재 아님 ㅎ )
문제 링크 : https://www.acmicpc.net/problem/8911 8911번: 거북이 문제 상근이는 2차원 평면 위에서 움직일 수 있는 거북이 로봇을 하나 가지고 있다. 거북이 로봇에게 내릴 수 있는 명령은 다음과 같이 네가지가 있다. F: 한 눈금 앞으로 B: 한 눈금 뒤로 L: 왼쪽�� www.acmicpc.net JAVA공부한겸 한번 객체로 만들어서 풀어보고싶어서 끄적거리면서 풀어본 문제 아직 뭐가 뭐하는놈인지 몰라서 일단 작성하고봤는데 빨리 익숙해져야할듯 import java.util.*; public class Main { static class turtle{ private int x; private int y; private int MAX_X; private int MAX_Y; ..
문제 링크 : https://www.acmicpc.net/problem/17267 17267번: 상남자 CTP의 대표 상남자 영조는 자유롭게 이동하는 것을 좋아한다. 그렇지만 영조는 상남자이기 때문에 위아래로만 간다. 따라서 위, 아래로는 얼마든지 이동할 수 있지만 왼쪽, 오른쪽으로는 이동하 www.acmicpc.net #include #define endl '\n'; using namespace std; typedef struct Point { int x, y; int L, R; }P; bool visited[1005][1005]; int N, M; int L, R; int y, x; int BFS() { int res = 0; int i; P p; queue Q; Q.push({x, y, L..
문제링크 : https://www.acmicpc.net/problem/1013 1013번: Contact 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 전파를 표현하는, { 0, 1 }만으로 이루어진 문자열이 공백 없이 주어진다. 문자열 길이는 (1 ≤ www.acmicpc.net 잠수함 식별이라는 문제와 똑같은 문제다. 잠수함 식별문제를 풀 때는 문자열 처리를 통해서 풀었지만 질문 중에서 다음과 같은 글을 보게 됐다. www.acmicpc.net/board/view/1312 글 읽기 - 1013 Contact 질문입니다. *솔루션 스포일러 주의 댓글을 작성하려면 로그인해야 합니다. www.acmicpc.net 그래서.. 이 글을 읽고 띠용 해서 북마..
문제링크 : https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 �� www.acmicpc.net 원형큐로 풀고싶어서 원형큐로 구현해서 풂 #include #include typedef struct Queue { int *Queue; int front; int rear; int Queue_size; }Queue; void pop(Queue *pQueue); void Left(Queue *pQueue); void Right(Queue *pQueue); int findidx(..
문제 링크 : https://www.acmicpc.net/problem/12904 12904번: A와 B 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수 www.acmicpc.net 처음 S를 T로 바꿀 수 있는지 BFS로 시도했다가 메모리 초과가 발생해서 생각을 해보니 최종 문자열에서 끝에 붙어있는 문자열에 맞는 규칙대로 줄여가다보면 T를 S로 바꿀 수 있지 않을까 생각을 하게 되서 짰다 T의 마지막이 A일 경우 1개만 줄이고 T의 마지막이 B일 경우에는 1개를 줄이고 문자열을 뒤집어주었다. 이 과정을 반복해서 S와 T의 ..
문제 링크 : https://www.acmicpc.net/problem/1806 1806번: 부분합 문제 10,000 이하의 자연수로 이루어진 길이 N짜리 수열이 주어진다. 이 수열에서 연속된 수들의 부분합 중에 그 합이 S 이상이 되는 것 중, 가장 짧은 것의 길이를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다. 출력 첫째 줄에 구하고자 하는 최소의 길 www.acmicpc.net 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 ..
문제 링크 : https://www.acmicpc.net/problem/2589 2589번: 보물섬 보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이 지도에서 이동은 상하좌우로 이웃한 육지로만 가능하며, 한 칸 이동하는데 한 시간이 걸린다. 보물은 서로 간에 최단 거리로 이동하는데 있어 가장 긴 시간이 걸리는 육지 두 곳에 나뉘어 묻혀있다. 육지를 나타내는 두 곳 사이를 최단 거리로 이동하려면 같은 곳을 두 번 이상 지 www.acmicpc.net 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 ..
문제 링크 : https://www.acmicpc.net/problem/1963
문제 링크 : https://www.acmicpc.net/problem/11881 11881번: 지우개 첫 번째 줄에 만들 수 있는 지우개들의 부피의 합을 출력합니다. 승현이는 프로그램이 제대로 동작하는 것부터 검증하기를 원하므로, 1,000,000,007 (109+7)로 나눈 나머지를 출력합시다. www.acmicpc.net ai < aj < ak를 만족시켜야 하므로 aj를 고정된 값으로 두고 ai와 ak를 더해서 곱해주는 형식으로 답을 구했다. 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 #include #define endl '\n' #define mod 1000000007 using names..
문제 링크 : https://www.acmicpc.net/problem/2166 2166번: 다각형의 면적 첫째 줄에 N이 주어진다. 다음 N개의 줄에는 다각형을 이루는 순서대로 N개의 점의 x, y좌표가 주어진다. 좌표값은 절댓값이 100,000을 넘지 않는 정수이다. www.acmicpc.net 알고리즘 분류는 CCW이지만,, 너무나도 간단한 신발끈 공식이 있어서 신발끈 공식을 사용했다. 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 32 33 34 35 36 37 #include #define endl '\n' using namespace std; typedef struct point { long..
문제 링크 : https://www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 #include #define endl '\n'..