Programmers / [복습] H-index - 정렬 / Python 파이썬
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다.문제 제목: H-Index문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/42747# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 나의 풀이def solution(citations): answer = 0 h = 0 max_h = 0 max_ = max(citations) if sum(citations) == 0: return 0 while h = h] # h 편 이상, h편 이하의 값이 같아야함 if len(h_high..
백준 / 14503번 로봇청소기 -bfs, 시뮬 / Python 파이썬
·
coding test - python/백준
*문제 출처는 백준에 있습니다.문제 제목: 로봇청소기 - bfs, 방향확인문제 사이트: https://www.acmicpc.net/problem/14503 문제 개요로봇 청소기가 방을 청소하는 과정을 시뮬레이션한다.로봇은 다음과 같은 규칙에 따라 움직인다:현재 칸이 청소되지 않은 경우, 청소한다.주변 4칸 중 청소되지 않은 빈 칸이 있으면, 반시계 방향으로 회전하면서 전진할 수 있는 칸을 찾고 이동한다.청소되지 않은 칸이 없다면, 방향을 유지한 채 한 칸 후진한다.후진할 수 없으면 작동을 멈춘다. 방향 처리방향은 북(0), 동(1), 남(2), 서(3) 으로 표현하며, directions 배열로 이동 좌표를 지정한다:directions = [(-1, 0), (0, 1), (1, 0), (0, -1)]회전..
Programmers / 정수를 나선형으로 배치하기 - bfs, 달팽이 / Python 파이썬
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다.문제 제목: 정수를 나선형으로 배치하기문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/181832 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명양의 정수 n이 매개변수로 주어집니다. n × n 배열에 1부터 n2 까지 정수를 인덱스 [0][0]부터 시계방향 나선형으로 배치한 이차원 배열을 return 하는 solution 함수를 작성해 주세요.제한사항1 ≤ n ≤ 30입출력 예nresult4[[1, 2, 3, 4], [12, 13, 14, 5], [11, 16, 15, 6], [10, ..
백준 / 23352번 방탈출 - bfs / Python 파이썬
·
coding test - python/백준
*문제 출처는 백준에 있습니다.문제 제목: 방탈출문제 사이트: https://www.acmicpc.net/problem/23352  나의 풀이 세세한 방문처리 잘 봐야하고 임의의 방에서 출발한다는 것 -> 꼭 모서리 부분부터 출발하는것은 아님나는 격자 테두리부분으로만 출발하는 줄 알았는데 아니드라 그리고 큐에 넣을 첫번째 노드 방문처리 확실하게 하기 길이가 같은 노드는 저장해뒀다가 나중에 문제 조건에서 의미하는것 잘 확인하고 출력 n,m 이거 위치도 제대로 봐야함 그대로 했다가 x,y 바뀌었음;;import sysfrom collections import deque# 임의의 방에서 다른 방으로 이동할 때는 항상 두 방 사이의 최단 경로로 이동한다.# 1번을 만족하는 경로 중 가장 긴 경로의 시작 방과 끝..
백준 / 14500번 테트로미노- 백트래킹, dfs / Python 파이썬
·
coding test - python/백준
*문제 출처는 백준에 있습니다.문제 제목: 테트로미노문제 사이트: https://www.acmicpc.net/problem/14500   나의 풀이 - 첫번째 풀이 시간초과import sysinput = sys.stdin.readlineN,M = map(int,input().split())direct = ((-1,0),(1,0),(0,-1),(0,1)) # 상하좌우maps = []max_sum = 0for i in range(N): # 종이에 쓰여 있는 수 maps.append(list(map(int,input().split())))def dfs(visited_points,cnt,total): global max_sum # 백트래킹은 dfs if cnt == 4: ..
Programmers / [복습] 할인 행사 - 슬라이딩윈도우 / Python 파이썬
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다.문제 제목: 할인행사문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 설명XYZ 마트는 일정한 금액을 지불하면 10일 동안 회원 자격을 부여합니다. XYZ 마트에서는 회원을 대상으로 매일 한 가지 제품을 할인하는 행사를 합니다. 할인하는 제품은 하루에 하나씩만 구매할 수 있습니다. 알뜰한 정현이는 자신이 원하는 제품과 수량이 할인하는 날짜와 10일 연속으로 일치할 경우에 맞춰서 회원가입을 하려 합니다.예를 들어, 정현이가 원하는 제품이 ..
백준 / 1197번 최소 스패닝 트리 - 힙,해시 / Python 파이썬
·
coding test - python/백준
*문제 출처는 백준에 있습니다.문제 제목: 최소 스패닝 트리 문제 사이트: https://www.acmicpc.net/problem/1197문제그래프가 주어졌을 때, 그 그래프의 최소 스패닝 트리를 구하는 프로그램을 작성하시오.최소 스패닝 트리는, 주어진 그래프의 모든 정점들을 연결하는 부분 그래프 중에서 그 가중치의 합이 최소인 트리를 말한다.입력첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 가중치 C인 간선으로 연결되어 있다는 의미이다. C는 음수일 수도 있으며, 절댓값이 1,000,000을 넘지 않는다.그래프의 정..
Programmers / [복습] 피로도 - 순열 , 그리디 / Python 파이썬
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다.문제 제목: 피로도문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던전 탐험을 마쳤을 때 소모되는 "소모 피로도"가 있습니다. "최소 필요 피로도"는 해당 던전을 탐험하기 위해 가지고 있어야 하는 최소한의 피로도를 나타내며, "소모 피로도"는 ..
백준 / 2578번 빙고 - 구현 / Python 파이썬
·
coding test - python/백준
*문제 출처는 백준에 있습니다.문제 제목: 2578번 빙고문제 사이트: https://www.acmicpc.net/problem/2578 나의 풀이 후 빡코딩이였다 오랜만에 집중함for문이 반복되는만큼 탈출해야하는 것이랑 제대로 다 생각해서 코딩해야함maps 같이 2차원 행렬 사용된다싶으면 무조건 pseudo code 만들고 진입하자 ㅠㅠ import sysinput = sys.stdin.readline# 세 개 이상 그어지는 순간 "빙고"maps = []visited = [[False] * 5 for i in range(5)]cnt = 0answer = 0 # 사회자가 몇번 불렀는지 카운트# 체크했던 인덱스들 저장c_row = [0] * 5c_cal = [0] * 5c_right = Falsec_..
백준 / 1834번 나머지와 몫이 같은 수 / Python 파이썬
·
coding test - python/백준
*문제 출처는 백준에 있습니다.문제 제목: 나머지와 몫이 같은 수문제 사이트: https://www.acmicpc.net/problem/1834  나의 풀이 완전 탐색 불가능함. 수학적인 아이디어가 필요하다.# N으로 나누었을 때 나머지와 몫이 같은 모든 자연수의 합을 구하는 프로그램을 작성하시오.# 예를 들어 N=3일 때, 나머지와 몫이 모두 같은 자연수는 4와 8 두 개가 있으므로, 그 합은 12이다.import sysinput = sys.stdin.readlineN = int(input())answer = 0cnt = 1while True: # print((N + 1, cnt)) if (N+1)*cnt // N > N : print(answer) break ..
백준 / 2812번 크게 만들기 - 스택 / Python 파이썬
·
coding test - python/Programmers
*문제 출처는 백준에 있습니다.문제 제목: 크게 만들기문제 사이트: https://www.acmicpc.net/problem/2812문제N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오.입력첫째 줄에 N과 K가 주어진다. (1 ≤ K 둘째 줄에 N자리 숫자가 주어진다. 이 수는 0으로 시작하지 않는다.출력입력으로 주어진 숫자에서 K개를 지웠을 때 얻을 수 있는 가장 큰 수를 출력한다.예제 입력 1 복사4 21924예제 출력 1 복사94예제 입력 2 복사7 31231234예제 출력 2 복사3234예제 입력 3 복사10 44177252841예제 출력 3 복사775841나의 풀이# Python 풀이N, K = map(int, input().spli..
백준 / 17298번 오큰수 - 스택 / Python 파이썬
·
coding test - python/백준
*문제 출처는 백준에 있습니다.문제 제목: 오큰수 (스택)문제 사이트: https://www.acmicpc.net/problem/17298    문제크기가 N인 수열 A = A1, A2, ..., AN이 있다. 수열의 각 원소 Ai에 대해서 오큰수 NGE(i)를 구하려고 한다. Ai의 오큰수는 오른쪽에 있으면서 Ai보다 큰 수 중에서 가장 왼쪽에 있는 수를 의미한다. 그러한 수가 없는 경우에 오큰수는 -1이다.예를 들어, A = [3, 5, 2, 7]인 경우 NGE(1) = 5, NGE(2) = 7, NGE(3) = 7, NGE(4) = -1이다. A = [9, 5, 4, 8]인 경우에는 NGE(1) = -1, NGE(2) = 8, NGE(3) = 8, NGE(4) = -1이다.입력첫째 줄에 수열 A의 ..