Data is ___ ?
[프로그래머스] 두 큐 합 같게 만들기
Programming/CodingTest 2025. 2. 5. 19:08

https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 문제설명두 개의 큐가 주어질 때, 각 큐의 합이 같도록 만들기 위한 최소 이동 횟수 구하기한 번의 pop과 한 번의 insert를 합쳐서 1회 수행 2. 문제해결def solution(queue1, queue2): from collections import deque queue1 = deque(queue1) queue2 = deque(queue2) cur1 = sum(queue1) cur2 = sum(queu..

[Leetcode 42] Trapping Rain Water
Programming/CodingTest 2025. 2. 5. 19:05

https://leetcode.com/problems/trapping-rain-water/description/ 1. 문제설명각 높이를 나타내는 지도가 주어졌을 때, 얼만큼 물이 담길 수 있는지 계산 2. 문제해결[stack 이용]class Solution: def trap(self, height: List[int]) -> int: stack = [] water = height.copy() for i, h in enumerate(height): if stack and stack[-1][1] 현재 높이랑 마지막에 저장된 높이랑 비교하는 과정이 필요하므로 stack 이용stack이 들어 있고 현재 높이가 stack의 맨 끝 높이보다 크거나 같으면..

[프로그래머스] 메뉴 리뉴얼
Programming/CodingTest 2025. 2. 2. 20:23

https://school.programmers.co.kr/learn/courses/30/lessons/72411 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 문제설명단품 메뉴들을 조합해서 코스요리 형태로 재구성하기메뉴 주문시 가장 많이 함께 주문한 단품메뉴들을 선택단, 최소 2가지 이상의 단품메뉴로 구성 / 최소 2명 이상의 손님으로부터 주문된 것 단품메뉴 조합에 대해서만 후보에 포함  2. 코드구현def solution(orders, course): # 'XA'와 'AX'가 다르게 카운트 되는 것 방지 for i in range(len(orders)): orders[..

[Leetcode 37] Sudoku Solver
Programming/CodingTest 2025. 2. 2. 17:43

https://leetcode.com/problems/sudoku-solver/description/  class Solution: def solveSudoku(self, board: List[List[str]]) -> None: row_sets = [set() for _ in range(9)] col_sets = [set() for _ in range(9)] box_sets = [set() for _ in range(9)] for r in range(9): for c in range(9): if board[r][c] != '.': num = board[r][c] ..

article thumbnail
에라토스테네스의 체
Programming/CodingTest 2023. 5. 2. 09:02

에라토스테네스의 체 알고리즘특정한 수의 범위 안에 존재하는 모든 소수를 찾아야 할 때 다수의 자연수에 대하여 소수 여부를 판별할 때 사용하는 대표적인 알고리즘에라토스테네스의 체 알고리즘의 구체적인 동작 과정1) 2부터 N까지의 모든 자연수를 나열한다.2) 남은 수 중에서 아직 처리하지 않은 가장 작은 수 i를 찾는다.3) 남은 수 중에서 i의 배수를 모두 제거한다. (i는 제거하지 않음 !)4) 더 이상 반복할 수 없을 때까지 2번과 3번의 과정을 반복한다.  에라토스테네서의 체 알고리즘 동작 예시1) 2부터 N까지의 모든 자연수를 나열한다. 2) 아직 처리하지 않은 가장 작은 수 2를 제외한 2의 배수는 모두 제거한다  3) 아직 처리하지 않은 가장 작은 수 3을 제외한 3의 배수는 모두 제거한다.  ..

[문제풀이] 약수, 배수, 소수
Programming/CodingTest 2023. 4. 3. 01:19

import matha,b = map(int, input().split())math.gcd(a,b)math.lcm(a,b)

[문제풀이] 집합과 맵
Programming/CodingTest 2023. 4. 2. 23:30

백준 단계별로 풀어보기(집합과 맵) 파트에서 계속 시간초과가 발생했다.해결방법으로는 두가지 정도로 요약할 수 있는데, 첫번째로는 리스트 대신 딕셔너리 사용, 두번째로는 개수를 세는 문제에서 for문을 돌면서 세지 말고 파이썬 함수 Counter를 사용하는 것이다. 이 두가지에 대해서 정리를 해보고자 한다. 딕셔너리diction_name = {}diction_name[key_name] = value_name 딕셔너리를 { }를 통해 하나 만든다.리스트와 달리 값을 추가할 때 list_name.append(value)가 아니라 key를 찾아서 value를 지정해주는 형식   Counterfrom collections import Counterc = Counter(nm_name)key 값으로는 이름, valu..

[자료구조/알고리즘] 재귀함수
Programming/CodingTest 2023. 2. 3. 01:29

정의재귀함수는 함수 안에 함수를 호출하는 함수 (자기 자신을 호출하는 형태)함수 내에서 그 함수를 다시 사용하는 것더보기더보기⚠ return : 함수를 실행했던 위치로 돌아가라, 함수를 여기서 끝내라는 의미 주의할점재귀함수는 자기 자신을 호출하기 때문에, 잘못하면 무한히 호출할 수 있다. 따라서 탈출 조건이 필수이다.      예제간단한 예제def recursion(n) : # n이 0이면 빠져나오기 if n == 0 : return 0 # n 출력 print(n) # 다시 recursion 함수에 n-1 입력 return recursion(n-1)------------------------------------------------------..

profile on loading

Loading...