https://www.acmicpc.net/problem/2169아래, 좌우로만 갈 수 있는 로봇을 조종해서 가장 큰 점수를 얻어서 오른쪽 아래로 도달하는 문제이다.DFS로 풀어보려했다. 재방문을 방지하고 다른 방향에서 계산한 dp가 영향을 주지 않도록 매번
https://www.acmicpc.net/problem/2437양팔저울이 있고, 추가 여러개 있을 때 추를 조합해서 만들 수 없는 가장 작은 정수를 찾는 문제이다.조합으로 접근할지, BFS로 접근할지 고민하다가 답이 안나와서 질문하기를 참고했다.https&#
https://www.acmicpc.net/problem/15686도시에 치킨집이 있는데 m개까지 치킨집을 폐업시키는 슬픈 문제이다.치킨집과 가정집의 위치가 2차원 배열로 주어지고, dx+dy만큼을 거리로 계산한다. 이때 가정집에서 가장 가까운 치킨집의 거리
https://school.programmers.co.kr/learn/courses/30/lessons/258705?language=java이렇게 생긴 타일에 마름모와 정삼각형을 적절히 배치해서 채울 때 나올 수 있는 경우의 수를 구하는 문제이다.아래 라인의
https://www.acmicpc.net/problem/17182행성끼리 거리가 주어지고, k부터 해서 모든 행성을 가는 가장 짧은 거리를 구하는 문제이다.플로이드 워셜로 각 행성별 최단거리를 구하고 백트레킹으로 최단거리로 모든 행성 탐사하는 거리를 구했다.
https://www.acmicpc.net/problem/1083버블소트 방식을 사용해서 s번 인접 원소 교환을 하는데 이렇게 해서 내림차순으로 가장 큰 숫자 배열을 만드는 문제이다.단순하게 내림차순으로 가장 큰 숫자배열이니까 내림차순인지 판단하다가 오름차순
https://www.acmicpc.net/problem/1022이런모양으로 확장되는 모눈종이의 일부를 출력하는 문제이다입력되는 값 중 최대값을 가지고 필요한 전체 모눈종이의 너비를 구한 후, makeCyclone 함수를 통해서 모눈종이를 그렸다. 그리고 일부
https://school.programmers.co.kr/learn/courses/30/lessons/214288상담 신청한 사람들의 목록이 있고, 상담 타입별로 인원이 1명씩 있고 남은 인원이 n-k명일 때, 나머지 인원 적절히 배치해서 사람들이 기다리는
https://www.acmicpc.net/problem/2056작업 우선순위가 주어질 때 가장 짧게 작업하는 경우를 구하는 것이다. 위상정렬을 사용해야 한다고 적혀있었다.graph, pre 등 딕셔너리를 생성하고 BFS로 위상정렬을 했다.(고 생각했다)그리고
https://www.acmicpc.net/problem/2179접두사가 가장 비슷한 문자열을 찾는 문제이다.문자열을 index와 함께 저장하고, 정렬한 후에 앞뒤로 문자열을 비교하면서 가장 큰 문자열을 찾는 방식을 사용했다.처음에는 이렇게 했는데 50%에서
https://www.acmicpc.net/problem/2665흰색칸만 이동할 수 있는 미로에서 (0, 0)에서 (n-1, n-1)로 이동할 때 검정 칸으로 길이 막혀있다면, 검정칸을 최소로 변환시켜서 길을 뚫어주는 문제이다.다익스트라라고 문제 유형이 있었는
https://school.programmers.co.kr/learn/courses/30/lessons/150365(x, y)에서 (r, c)까지 가는데 k만큼 걸리도록 가게 했을 때 명령중 사전순으로 가장 빠른 명령을 구하는 문제이다.BFS로 탐색하면서 거리
https://www.acmicpc.net/problem/30689미로가 있고, 각 칸에는 어디로 가야하는지 방향이 표시되어 있을때 미로를 탈출하지 못하는 경로가 있다면 해당 경로에 탈출지점을 넣어두려고 한다. 이때 설치 비용이 각 칸 별로 있을 때 설치비용을
https://school.programmers.co.kr/learn/courses/30/lessons/258711도넛, 막대, 8자 모양의 그래프 종류가 2개 이상 있고, 정점 하나를 새로 생성해서 해당 정점에서 나머지 그래프의 아무 정점으로 이어지는 간선을
https://www.acmicpc.net/problem/1461도서관에 책 갖다놓아야하는데 책의 위치는 직선상에 있으나 위치가 -10000부터 10000사이에 있다. 이 때 책을 한 번에 m권을 들 수 있을 때 책을 갖다놓는 거리가 가장 짧을 때의 거리를 찾
https://www.acmicpc.net/problem/1253수열을 주는데 수열의 숫자 중에서 다른 두 숫자의 합이랑 일치하는 숫자가 몇 개인가 세는 문제이다.투 포인터 쪽이 부족한 것 같아서 실버3 투포인터 문제 하나 풀고 도전했다.근데 생각보다 쉽게 풀
https://school.programmers.co.kr/learn/courses/30/lessons/77486다단계에서 칫솔 판매하는데 상급자에게 수익의 10%를 반올림한 것을 바쳐야하는 구조이다. 판매 실적이 주어질 때 수익이 어떻게 되는지 찾는 문제이다
https://www.acmicpc.net/problem/4485칸에 숫자가 있고, 0, 0에서 n, n까지 가는데 숫자의 합이 최소가 되도록 하는 문제이다.왼쪽 위에서 오른쪽 아래로 진행하길래 당연히 DP라고 생각했다. 문제를 제대로 안 읽은 것이다. 그래서
https://www.acmicpc.net/problem/1240n개의 노드와 n-1개의 간선이 있는 그래프에서 특정 두 노드 사이의 거리를 측정하고 싶은 문제이다.BFS로 해결할 수 있었다.tree라는 딕셔너리를 생성하고 이것을 이용해서 인접리스트를 만들었다
https://www.acmicpc.net/problem/2458키를 비교한 데이터를 주고 이 데이터를 기반으로 키 순위를 정확히 특정 가능한 사람의 수를 구하는 문제이다.플로이드 워셜 알고리즘을 사용해야할 것 같은데 어떻게 사용하는지 까먹어서 BFS 두 번