https://www.acmicpc.net/problem/11060 11060번: 점프 점프 재환이가 1×N 크기의 미로에 갇혀있다. 미로는 1×1 크기의 칸으로 이루어져 있고, 각 칸에는 정수가 하나 쓰여 있다. i번째 칸에 쓰여 있는 수를 Ai라고 했을 때, 재환이는 Ai이하만큼 오른쪽으로 www.acmicpc.net 문제 : 재환이가 1×N 크기의 미로에 갇혀있다. 미로는 1×1 크기의 칸으로 이루어져 있고, 각 칸에는 정수가 하나 쓰여 있다. i번째 칸에 쓰여 있는 수를 Ai라고 했을 때, 재환이는 Ai이하만큼 오른쪽으로 떨어진 칸으로 한 번에 점프할 수 있다. 예를 들어, 3번째 칸에 쓰여 있는 수가 3이면, 재환이는 4, 5, 6번 칸 중 하나로 점프할 수 있다. 재환이는 지금 미로의 가장 왼..
https://www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 문제 : 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 풀이 : N이 최대 1,000 이므로 3가지 경우로 나누어서 생각하였다. 1. N이 100보다 작을 떄 -> 그냥 N값을 출력하면 된다. 1자리 ..
https://www.acmicpc.net/problem/7795 7795번: 먹을 것인가 먹힐 것인가 심해에는 두 종류의 생명체 A와 B가 존재한다. A는 B를 먹는다. A는 자기보다 크기가 작은 먹이만 먹을 수 있다. 예를 들어, A의 크기가 {8, 1, 7, 3, 1}이고, B의 크기가 {3, 6, 1}인 경우에 A가 B를 먹을 www.acmicpc.net 문제 : 심해에는 두 종류의 생명체 A와 B가 존재한다. A는 B를 먹는다. A는 자기보다 크기가 작은 먹이만 먹을 수 있다. 예를 들어, A의 크기가 {8, 1, 7, 3, 1}이고, B의 크기가 {3, 6, 1}인 경우에 A가 B를 먹을 수 있는 쌍의 개수는 7가지가 있다. (8-3, 8-6, 8-1, 7-3, 7-6, 7-1, 3-1) 두 ..
https://www.acmicpc.net/problem/17478 17478번: 재귀함수가 뭔가요? 평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대 www.acmicpc.net 문제 : 평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대학교가 자신과 맞는가에 대한 고민을 항상 해왔다. 중앙대학교와 자신의 길이 맞지 않다고 생각한 JH 교수님은 결국 중앙대학교를 떠나기로 결정하였다. 떠나기 전까지도 제자들을 생각하셨던 JH 교수님은 재귀함수..
MySQL MySQL은 데이터베이스 소프트웨어입니다. 일반적으로 데이터를 추가하거나 검색, 추츨하는 기능을 모두 포함해서 데이터베이스라고 부릅니다. MySQL은 세계에서 가장 많이 쓰이는 오픈 소스의 관계형 데이터베이스 관리 시스템(RDBMS)입니다. MySQL은 PHP 스크립트 언어와 상호 연동이 잘 되면서 오픈소스로 개발된 무료 프로그램입니다. 그래서 홈페이지나 쇼핑몰(워드프로세스, cafe24, 제로보드, 그누보드)등 일반적으로 웹 개발에 널리 사용하고 있습니다. MySQL 실행 윈도우 : cd MAMP/bin/mysql/bin 로그인 : mysql -uroot -proot Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL c..
https://www.acmicpc.net/problem/1325 A 쪽으로 그래프의 간선을 연결하고 1부터 N까지 모든 노드에 대해 갈 수 있는 노드의 개수를 카운팅한다. 이 값이 max일 경우에만 시작노드를 정답배열에 넣어 마지막에 출력하면 된다. 소스코드 : import sys from collections import deque def bfs(start): queue = deque() queue.append(start) check = [0]*(N+1) check[start] = 1 while queue: X = queue.popleft() for Y in trust[X]: if check[Y] == 0: check[Y] = 1 queue.append(Y) return sum(check) if __..
https://www.acmicpc.net/problem/14425 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 문제 : 총 N개의 문자열로 이루어진 집합 S가 주어진다. 입력으로 주어지는 M개의 문자열 중에서 집합 S에 포함되어 있는 것이 총 몇 개인지 구하는 프로그램을 작성하시오. 풀이 : 쉬운 구현 문제이다. S를 집합으로 받고, M개의 문자열에 대해 일치하는 만큼 1씩 카운트를 해주면 된다. 소스코드 : import sys input = sys.stdin.readlin..
힙(Heap) 힙(Heap)은 우선 순위 큐를 구현하기 위해 사용되는 자료구조이다. 기반은 트리 형태이며 삽입, 삭제 모두 O(logN)의 시간복잡도를 가진다. 우선순위 큐(Priority Queue) 우선순위 큐는 큐의 구조에서 요소별 가중치를 두어 우선순위를 정하여 pop()을 실행하는 자료구조이다. 예전에 queue를 정리해놓은 포스팅에서 언급한 적이 있듯이 어떤 작업을 수행할 때 단순 FIFO 방식을 따르는 것은 때론 비효율적으로 동작할 수 있다. 예를 들어, 운영체제의 프로세스 작업 스케쥴링에서 여러 방법들 중 우선순위 큐를 사용하여 스케쥴링 하는 방법이 있다. 힙의 특징 위에서 언급했듯 힙은 트리의 형태를 취하고 있으며 많은 트리의 종류들 중에서도 완전 이진 트리의 구조를 가진다..힙은 결국 ..
오랜만에 글을 씁니다.... SK코테보고 탈탈털려서 멘탈이 나갔었습니다ㅠ. 다시 열심히 해보겠씁니다!! https://www.acmicpc.net/problem/2204 2204번: 도비의 난독증 테스트 꿍은 도비에게 영어단어들을 제시한 후 어떤 단어가 대소문자를 구분하지 않고 사전순으로 가장 앞서는지 맞추면 양말을 주어 자유를 얻게해준다고 하였다. 하지만 인성이 좋지 않은 꿍은 사실 www.acmicpc.net 문제 : 꿍은 도비에게 영어단어들을 제시한 후 어떤 단어가 대소문자를 구분하지 않고 사전순으로 가장 앞서는지 맞추면 양말을 주어 자유를 얻게해준다고 하였다. 하지만 인성이 좋지 않은 꿍은 사실 그러고 싶지 않았기 때문에 대소문자를 마구 섞어가며 단어들을 제시했다. 예를 들어, apPle은 Bat..