알고리즘/BOJ 1235

백준 15649번 N과 M (1)

문제 링크입니다: https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. www.acmicpc.net 전형적인 백트래킹 문제였습니다. N과 M의 범위가 매우 작기 때문에 어떠한 방법으로 풀어도 TLE가 발생하지 않을 것입니다.

알고리즘/BOJ 2019.07.14

백준 1926번 그림

문제 링크입니다: https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로로 연결된 것은 연결이 된 것이고 대각선으로 연결이 된 것은 떨어진 그림이다. 그림의 넓이란 그림에 포함된 1의 개수이다. www.acmicpc.net 간단한 그래프 알고리즘 문제였습니다. 현재 그림의 크기를 측정하기 위해 DFS 함수를 호출할 때마다 area 변수를 0으로 초기화하는 것이 핵심이였습니다.

알고리즘/BOJ 2019.07.10

백준 10828번 스택, 10845번 큐, 10866번 덱 stl 사용하지 않고 구현

stl을 사용한 코드는 아래 링크를 참고하시면 됩니다. https://jaimemin.tistory.com/687 백준 10828번 스택 문제 링크입니다: https://www.acmicpc.net/problem/10828 백준 10845번 큐(http://jaimemin.tistory.com/661)처럼 자료구조를 복습하는 문제였습니다. 스택에 대한 개념을 안다면 어렵지 않게 풀 수 있는 문제였.. jaimemin.tistory.com https://jaimemin.tistory.com/661 백준 10845번 큐 문제 링크입니다: https://www.acmicpc.net/problem/10845 오랜만에 자료구조 큐를 복습할 수 있던 문제였습니다. 사실, 덱(deque)을 쓰면 훨씬 쉬운 문제였지만..

알고리즘/BOJ 2019.07.09

백준 3187번 양치기 꿍

문제 링크입니다: https://www.acmicpc.net/problem/3187 3187번: 양치기 꿍 문제 양치기 꿍은 맨날 늑대가 나타났다고 마을 사람들을 속였지만 이젠 더이상 마을 사람들이 속지 않는다. 화가 난 꿍은 복수심에 불타 아예 늑대들을 양들이 있는 울타리안에 마구 집어넣어 양들을 잡아먹게 했다. 하지만 양들은 보통 양들이 아니다. 같은 울타리 영역 안의 양들의 숫자가 늑대의 숫자보다 더 많을 경우 늑대가 전부 잡아먹힌다. 물론 그 외의 경우는 양이 전부 잡아먹히겠지만 말이다. 꿍은 워낙 똑똑했기 때문에 이들의 결과는 이미 알고있다. 만약 빈 www.acmicpc.net 비교적 쉬운 BFS 문제였습니다. 아직 방문하지 않은 칸에 대해서 BFS를 호출하면 해당 울타리 내에 있는 모든 칸을..

알고리즘/BOJ 2019.06.20

백준 2346번 풍선 터뜨리기

문제 링크입니다: https://www.acmicpc.net/problem/2346 2346번: 풍선 터뜨리기 첫째 줄에 자연수 N(1≤N≤1,000)이 주어진다. 다음 줄에는 차례로 각 풍선 안의 종이에 적혀 있는 수가 주어진다. 편의상 0은 적혀있지 않다고 가정하자. www.acmicpc.net 조세퍼스 문제와 유사한 문제였습니다. 풍선을 터뜨리고 움직일 때 모듈러 연산을 잘 해주는 것이 핵심이였습니다.

알고리즘/BOJ 2019.05.31

백준 10219번 Meats On The Grill

문제 링크입니다: https://www.acmicpc.net/problem/10219 10219번: Meats On The Grill 각 테스트 케이스마다 각 고기덩이를 뒤집은 후의 불판의 상태를 H줄에 걸쳐서 출력한다. 각 줄에는 W개의 문자가 있어야 하며, 입력에서 주어진 각 고기 덩이가 뒤집힌 채로 있어야 한다. 이를 만족하는 어느 답을 출력해도 정답으로 인정한다. www.acmicpc.net 여러 답이 나올 수 있는 스페셜 저지 문제였습니다. 고기를 뒤집은 후에 같은 위치에 배치하지 않기만 하면 되므로 격자판 전체를 180도 돌리면 조건을 성립한다는 것을 알 수 있습니다!

알고리즘/BOJ 2019.05.28

백준 17176번 암호해독기

문제 링크입니다: https://www.acmicpc.net/problem/17176 17176번: 암호해독기 암호문이 하나 도착했다. 이것을 해석해서 무슨 의미인지를 유추해보고 주어진 해석문과 일치하는지 확인해보려 한다. 암호문은 0 - 52까지의 숫자가 띄어쓰기로 구분되어 주어진다. 해독된 암호문에서 0은 띄어쓰기에, 1 ~ 26까지의 숫자는 A ~ Z에, 27 ~ 52까지의 숫자는 a ~ z에 대응된다. 띄어쓰기를 포함한 모든 철자가 무작위로 뒤섞여 있는 암호문이다. 해독된 문장이 같이 주어질 때 주어진 암호문을 해독한 문장이 일치하는지를 확인하여라. www.acmicpc.net 간단한 문제였습니다. 입력받는 숫자가 각각 몇개인지 배열에 저장하고 예상 결과물을 숫자로 변환한 뒤 각각 몇개인지 배열에..

알고리즘/BOJ 2019.05.23

백준 5817번 고통받는 난쟁이들

문제 링크입니다: https://www.acmicpc.net/problem/5817 5817번: 고통받는 난쟁이들 문제 옛날 옛적, 일곱 언덕과 일곱 바다를 건너 작은 마을이 있었어요. 백설공주는 놀고 먹고 자다가 일어나서 문명 5, 리그 오브 레전드, 풋볼 매니저를 하다가 다시 자는 난쟁이들 N명과 살고 있었어요. 계속되는 이런 생활에 진저리가 난 백설공주는 난쟁이들에게 고통을 주기로 결심했고, 체육 수업을 빙자한 얼차려를 주기로 했답니다! 수업이 시작할 때, 난쟁이들은 키가 큰 순서로 한 줄로 서 있어야 돼요. 신기하게도 난쟁이들 중 키가 같은 사람은 한 명도 없 www.acmicpc.net 최소, 최대 세그먼트 트리를 이용하여 푸는 문제였습니다. 1번 연산에 대해서는 기존에 알고 있던 최소, 최대 ..

알고리즘/BOJ 2019.05.22

백준 4485번 녹색 옷 입은 애가 젤다지?

문제 링크입니다: https://www.acmicpc.net/problem/4485 4485번: 녹색 옷 입은 애가 젤다지? 문제 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주인공, 링크는 지금 도둑루피만 가득한 N x N 크기의 동굴의 제일 왼쪽 위에 있다. [0][0]번 칸이기도 하다. 왜 이런 곳에 들어왔냐고 묻는다면 밖에서 사람들이 자꾸 "젤다의 전설에 나오는 녹색 애가 젤다지?"라고 물어봤기 때문이다. 링크가 녹색 옷을 입 www.acmicpc.net 기존에 풀었던 다익스트라 문제들과는 달리 2차원 행렬을 입력받아 풀어야했던 문제였습니다. 전형적인 ..

알고리즘/BOJ 2019.05.22