문제 n개의 원소를 포함하고 있는 수열이 오름차순 으로 정렬되어 있습니다. 이때 이 수열에서 x가 등장하는 횟수를 계산하세요. 예를 들어 수열 [1, 1, 2, 2, 2, 2, 3]이 있을 때 x = 2라면, 현재 수열에서 값이 2인 원소가 4개 이므로 4를 출력합니
벽 부수고 이동하기 \[백준 2206]https://www.acmicpc.net/problem/2206너비 우선 탐색으로 큐에 다음 좌표와 거리 정보, 벽을 부셨는 지 아닌 지를 나타내는 정보를 넣어주는 방식을 택했다. 큐가 계속해서 쌓이는 것을 방지하기 위해
문제 1, 2, 3 더하기 \[백준 9095] 풀이 처음에는 다이나믹 프로그래밍으로 풀어보려 점화식을 찾으려 노력했지만 생각보다 생각이 잘 나지 않아서 재귀 함수를 이용하여 풀어보려했다. 마치 연산자 끼워넣기 문제처럼 말이다.
계단 오르기 \[백준 2579]https://www.acmicpc.net/problem/2579이런 류의 문제는 다이나믹 프로그래밍으로 풀어야하는데 세개의 연속된 계단을 못 오른단 것에서 고전을 하였다. 연속해서 얼마나 계단을 올랐는지 저장하는 변수 이용점화식
피보나치 함수 백준 1003https://www.acmicpc.net/problem/1003시간 기준이 널널하지 않기 때문에 메모라이징과 조금의 규칙을 발견하여 다이나믹 프로그래밍을 사용하기로 했다. 규칙을 찾으려고 보니 0의 호출 개수는 1의 호출 가장 마지
체스판 다시 칠하기 백준 1018https://www.acmicpc.net/problem/1018티어가 실버 4이길래 그렇게 어렵지 않을 줄 알았는데 결국 못 풀고 다른 블로그 풀이를 참고하게 되어서 이 풀이를 기록에 남긴다.큰 판이 주어지면 8 \* 8 로
과제 백준 13904https://www.acmicpc.net/problem/13904이 문제는 처음에 주어진 입력을 어떻게 정렬해야하나 고민을 많이 하게 되는 문제였다. 날짜에 대해 오름차순을 하고 힙큐에 과제 점수를 넣어주고 만약 과제를 할 시간이 부족하면
배 백준 1092번https://www.acmicpc.net/problem/1092생각하는데 별로 어렵진 않은 문제였지만 실수한 부분이 있어서 기록한다. 처음 접근은 크레인과 박스를 모두 내림차순으로 정렬하고 크레인보다 박스의 무게가 적으면 리스트에서 해당 박
행렬 백준 1080https://www.acmicpc.net/problem/1080다소 복잡하게 생각하다가 많이 돌아갔는데, 그저 칸들을 다 돌아보면서 값이 다른 칸이 있으면 3 \* 3 을 뒤집어주고 모든 칸들을 다 조사했을 때 똑같지 않다면 -1 제출한다.
크게 만들기 백준 2812https://www.acmicpc.net/problem/2812버릴 값을 다 버릴 때가지 가장 마지막에 들어온 값이랑 새로운 값이랑 비교하여서 마지막에 들어온 값이 작은 한 pop, k 값을 줄여주고 새로 들어온 값을 추가 해줌반복문
강의실 배정 백준 11000https://www.acmicpc.net/problem/11000처음에 끝나는 시간들을 반복문으로 통해서 리스트에 추가하고, 그 리스트를 순차 탐색하며 입력값의 끝나는 시간과 비교해 바꿔주는 형식의 코드를 짰는데 이중 반복문이고 n
치즈 백준 2638https://www.acmicpc.net/problem/2638외부 공기에 닿은 치즈는 1시간 뒤에 녹는다. 이때 치즈가 전부 녹는 시간을 구하여라 치즈로 둘려쌓여있는 공간은 외부로 치지 않음bfs 사용해야함처음에는 내부에 있는 공간의 좌표
감시 백준 15683https://www.acmicpc.net/problem/15683처음에는 길게 코딩했고 코드가 길어지다 보니 에러타이핑도 많은 부분에서 발생하여 시간이 많이 걸리고, 채점시간, 메모리 면에서도 좋지 않은 코드를 작성하였다. cctv 가 있
테트로미노 백준 14500https://www.acmicpc.net/problem/14500테트리미노 도형을 리스트에 넣었을 때 도형이 차지하는 칸의 수의 합의 최대값을 구하는 문제이다.첫째로 이 문제를 봤을 때 무조건 완전 탐색으로 풀어야겠다라고 다짐했다.
공유기 설치 백준 2110https://www.acmicpc.net/problem/2110처음에 이 문제를 보고 이진 탐색 개념인 걸 알았지만 어떻게 풀 지 감이 안잡혔었다. 해서 시간 초과가 나더라도 순차적 탐색을 해보자라는 생각으로 combination 함
다은은 화성탐사를 진행하면서 에너지 소모량의 최소를 구하는 문제이다. n x n 의 2차원 공간이 주어지고 각 칸에는 칸에 갈 때에 에너지 소모량이 있다. 보편적인 최단 거리 문제는 1차원 graph 가 주어지고 다익스트라 알고리즘을 이용하여 문제를 푸는 것이지만 해
문제 블록 이동하기 [프로그래머스 60063] 풀이 로봇
문제 연산자 끼워넣기 [백준 14888] 풀이 연산자의 개수와 수열이주어지면 수열 사이에 연산자를 넣어 나오는 최대와 최소를 구하는 문제이다. 이 문제는 두가지 해결법이 있다. itertool에 permutations(순열) 함수를 이용하는 방법과 너비우선탐색을
연구소 백준 14502https://www.acmicpc.net/problem/14502dfs나 bfs를 이용하여 문제를 해결할 수 있다. 가로 세로 크기가 그리 크지 않기 때문에 0인 인덱스 중 3개를 뽑아 벽을 세우는 조합의 경우의 수를 모두 검사하여도 시
기둥과 보 설치 프로그래머스 60061https://school.programmers.co.kr/learn/courses/30/lessons/60061굳이 2차원 배열 만들어 그림을 구현하려 하지 말고 1차원적으로 괜찮으면 정보를 설치 제거 식으로 한다.문제에
문제 프로그래머스 문자열 압축 60057 문제 풀이
어른 상어 백준 19237https://www.acmicpc.net/problem/19237어른이 된 상어들이 냄새를 풍기며 이동하는 것을 구현하는 문제이다.매초마다 모든 상어의 기능을 구현하는 문제이다. 상어마다 방향의 우선순위가 정해져있어 상어들이 다른 방
문제 [백준 19236 청소년 상어] 풀이 코드
백준 16236번 문제이다.해당 문제는 상어가 deque를 이용하여 해당 위치에서 규칙을 지키면서 각 칸 까지의 최소거리를 구현하는 bfs 알고리즘을 이용한다. 각 칸까지의 거리를 나타내는 2차원 배열을 bfs 함수에서 반환하고 find 함수에서 그래프의 값이 1보다
두서 없이 생각날 때마다 써둔 것이라 정리가 되어있진 않다."" 나 '' 안에 "" 나 '' 를 넣고 싶으면 \\를 써줄 것코딩할때 = 주위에 공백을 넣어주고 tap 대신 스페이스 4번을 사용할 것입출력시 map(int,input().split()) 을 유용히 사용할
다음 문제는 숨바꼭질을 하면서 술래로부터 잡히지 않도록 숨을 곳을 찾는데 1 ~ n 까지 헛간이 있고 m개의 양방향 통로가 주어졌을 때 1번 헛간에서 술래가 출발한다. 때문에 1번 헛간에서 최단 거리가 가장 긴 헛간을 찾고 헛간이 다수일 때는 가장 작은 번호를 첫번째,
백준 2887때는 2040년, 이민혁은 우주에 자신만의 왕국을 만들었다. 왕국은 N개의 행성으로 이루어져 있다. 민혁이는 이 행성을 효율적으로 지배하기 위해서 행성을 연결하는 터널을 만들려고 한다.행성은 3차원 좌표위의 한 점으로 생각하면 된다. 두 행성 A(xA, y
이코테 p. 395에 있는 탑승구 문제이다.처음에는 탑승구 마다의 리스트를 만들어서 비행기가 들어올 때마다해당 탑승구부터 마지막 탑승구까지의 리스트 값에 1을 더해주어 만약 탑승구의 리스트 값이 인덱스 값보다 커지면 넘치는 것으로 판단하고 코드를 작성하였다g = int
해당 문제는 이코테 p.397에 실린 문제이다. 신장 트리 개념을 이용하여서 두 노드(마을)의 루트가 이미 같으면 즉 사이클이 형성되어 있으면 해당 경로의 비용은 더하지 않고 나머지 경로만 더하는 코드를 작성하였다.def find_parent(parent, x):