세준이는 1부터 N까지 모든 수를 차례대로 공백없이 한 줄에 다 썼다. 그리고 나서, 세준이가 저녁을 먹으러 나간 사이에 다솜이는 세준이가 쓴 수에서 마음에 드는 몇 개의 숫자를 지웠다.세준이는 저녁을 먹으러 갔다 와서, 자기가 쓴 수의 일부가 지워져있는 모습을 보고
기다란 벤치 모양의 식탁에 사람들과 햄버거가 아래와 같이 단위 간격으로 놓여 있다. 사람들은 자신의 위치에서 거리가 $K$ 이하인 햄버거를 먹을 수 있다.햄버거 사람 햄버거 사람 햄버거 사람 햄버거 햄버거 사람 사람 햄버거 사람1 2 3 4 5 6 7 8 9 10 11
우주비행이 꿈이였던 진우는 음식점 '매일매일싱싱'에서 열심히 일한 결과 달 여행에 필요한 자금을 모두 마련하였다! 지구와 우주사이는 N X M 행렬로 나타낼 수 있으며 각 원소의 값은 우주선이 그 공간을 지날 때 소모되는 연료의 양이다.예시진우는 여행경비를 아끼기 위해
신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다.예를 들어 7대의 컴퓨터가 <그림 1>과 같이 네트워크 상에서 연결되어 있다고 하자. 1
<그림 1>과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이
영문 알파벳 대문자로 이루어진 두 단어가 다음의 두 가지 조건을 만족하면 같은 구성을 갖는다고 말한다.두 개의 단어가 같은 종류의 문자로 이루어져 있다.같은 문자는 같은 개수 만큼 있다.예를 들어 "DOG"와 "GOD"은 둘 다 'D', 'G', 'O' 세 종류의 문자
백준 3758 KCPC \[링크]당신은 유명 프로그래밍 대회인 KCPC(Korean Collegiate Programming Contest)에 참가하고 있다. 이 대회에서 총 k개의 문제를 풀게 되는데, 어떤 문제에 대한 풀이를 서버에 제출하면 그 문제에 대해 0점에서
백준 20310 타노스 \[링크]어느 날, 타노스는 0과 1로 이루어진 문자열 $S$를 보았다. 신기하게도, $S$가 포함하는 0의 개수와 $S$가 포함하는 1의 개수는 모두 짝수라고 한다.갑자기 심술이 난 타노스는 $S$를 구성하는 문자 중 절반의 0과 절반의 1을
백준 19637 IF문 좀 대신 써줘 \[링크]게임 개발자인 밀리는 전투력 시스템을 만들어, 캐릭터가 가진 전투력을 기준으로 칭호를 붙여주려고 한다.예를 들어, 전투력 10,000 이하의 캐릭터는 WEAK, 10,000 초과 그리고 100,000 이하의 캐릭터는 NOR
백준 22233 가희와 키워드 \[링크]가희는 블로그를 운영하고 있습니다. 가희는 블로그에 글을 쓰기 위해, 메모장에 키워드를 적곤 합니다.지금까지 메모장에 써진 키워드는 모두 서로 다르며, 총 N개가 존재합니다.가희는 새로운 글을 작성할 때, 최대 10개의 키워드에
백준 1927 최소 힙 \[링크]널리 잘 알려진 자료구조 중 최소 힙이 있다. 최소 힙을 이용하여 다음과 같은 연산을 지원하는 프로그램을 작성하시오.배열에 자연수 x를 넣는다.배열에서 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다.프로그램은 처음에 비어있는 배열
내가 list 차원 배열에 대한 개념이 너무 약하다..이것 때문에 계속 틀렸었고, 이해하느라 힘들었다.문제 자체는 어렵지 않게 풀 수 있는 문제였다..그러나 그룹 안에서 이름순으로 정렬하여 프린트 해야 하기 때문에 잘 읽어서 sort 구문을 넣어주어야 할 것 같다.졸프
홍준이는 요즘 주식에 빠져있다. 그는 미래를 내다보는 눈이 뛰어나, 날 별로 주가를 예상하고 언제나 그게 맞아떨어진다. 매일 그는 아래 세 가지 중 한 행동을 한다.1\. 주식 하나를 산다.2\. 원하는 만큼 가지고 있는 주식을 판다.3\. 아무것도 안한다.홍준이는 미
문제 링크그냥 커서 생각해서 옮기면 되는 문제라 쉽게 생각했다.시간 제한이 0.3초인게 마음에 걸렸지만 애초에 계산 자체가 크게 많지 않아서 괜찮을 거라 생각했다..그러나 역시나 시간 제한에 의해 시간 초과가 났다.정답이 제대로 나오긴 하는데...일단 내가 처음에 작성
문제 링크이번 문제는 가장 작은 창고 다각형의 넓이를 구하는 문제였다.이 문제는 가장 최고점을 기준으로 왼쪽은 계속 올라가고, 오른쪽은 계속 내려가는 다각형의 넓이를 구해서 풀어야 한다.나는 최고점의 x위치를 찾고 이를 슬라이싱하여 풀었다.최고점을 기준으로 왼쪽, 오른
문제 링크이 문제는 N번째 큰 수를 찾는 것이기 때문에 heapq 라이브러리를 사용해야 한다는 것을 금방 알 수 있었다.그러나 이 문제는 메모리 초과가 문제였다.따라서 N번째 큰 수를 찾는 것이기 때문에 heap의 길이를 작게 고정시켜서 문제를 해결하려고 노력해야 했어
문제 링크각 사람들은 왼쪽에 있는 자신보다 키가 큰 사람이 몇 명인지 기억한다고 한다.그렇다는 것은 키가 큰 사람 순서대로 줄을 세운다고 하면, 자신이 기억하는 숫자는 자신의 인덱스와 같다.따라서 위의 방식을 그대로 코드로 만들었다.
문제 링크이 문제는 정말 담백하게 dfs와 bfs를 사용하라는 문제이다.단, 접근할 수 있는 노드가 여러 개이면, 가장 작은 노드부터 방문해야 한다.아래의 코드로 작성하였다.늘 푸는 방식처럼dfs는 중첩함수로 풀었고,bfs는 while문으로 풀었다.그리고 접근할 때 노
문제 링크 이 문제는 bfs로 푸는 문제이다. 근데 이 문제에서 결과로 출력하는 부분이 잘 이해가 가지 않아서 헤맸다. >출력 각 지점에서 목표지점까지의 거리를 출력한다. 원래 갈 수 없는 땅인 위치는 0을 출력하고, 원래 갈 수 있는 땅인 부분 중에서 도달할 수 없
링크텍스트문제를 보고, 이를 dictionary로 풀면 쉽겠다고 생각했다.따라서, 아래의 코드처럼 작성했다.쉽게 통과할 줄 알았지만위와 같은 런타임 에러가 떴다.KeyError가 무슨 소리인가 알아보았는데, dictionary 안에 해당 key가 없다는 소리였다.나는
문제 링크이 문제를 처음보고 뭔가 피보나치 수열 문제 풀 듯이 풀어야 할 것 같다는 생각이 들었다.그런데..피보나치랑은 조금 달라서 어떻게 해야 하나 고민이 되었다.그래서 다른 블로그를 보면서 도움을 받았다.일단 들어오는 숫자가 10000이하의 숫자이기 때문에 1~10
문제 링크이전에 풀었던 1,2,3 더하기 4 문제가 오리지널 버전이 있다고 해서 풀어봤다.이거는 정말 피보나치 수열 푸는 문제랑 똑같아서 이전보다 더 수월하게 풀 수 있었다.n이 1, 2, 3일 때를 미리 지정해두고, 나머지는 n-1, n-2, n-3을 집어넣어서 다이
문제 링크 이 문제는 다익스트라 알고리즘을 사용해서 푸는 거라고 한다.. 다익스트라 알고리즘을 어디선가 (아마 수업시간에) 배운 것 같은데 어떤 것인지 어떤 상황에 쓰면 좋은 지 기억이 안 나서 풀지 못 했다. 다익스트라를 사용하지 않고 구현하려니까 구현이 너무 복
이 문제를 정말 오래 고민했었는데, 한 가지 색의 공만 옮길 수 있다는 조건을 내가 놓치지 않았다면 더 빨리 풀었을 수 있을 것 같다.1가지 색의 공만 옮길 수 있다면, 문제가 고려해야 할 케이스는 4가지이다.1\. 빨간 공을 다 오른쪽으로2\. 파란 공을 다 오른쪽으