🔻Algorithm

https://school.programmers.co.kr/learn/courses/30/lessons/120871 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr def solution(n): num = [] i = 1 while len(num)
https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr def solution(n): arr = [0, 1] for i in range(2, n+1): arr.append((arr[i-2] + arr[i-1])%1234567) return arr[-1]
https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr def solution(s): cnt = 0 zero = 0 def binary(n): res = "" while n > 0: res = str(n % 2) + res n //= 2 return res while s != "1": n = s.count("0") s = s.repl..
https://school.programmers.co.kr/learn/courses/30/lessons/42628 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  import heapqdef solution(operations): min_heap = [] max_heap = [] answer = [] for i in operations: op, data = i.split(" ") data = int(data) if op == "I": heapq.heap..
https://school.programmers.co.kr/learn/courses/30/lessons/17677 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr from collections import Counterdef solution(str1, str2): # J(A, B) -> 교집합 크기 / 합집합 크기 # A와 B가 공집합이면 1 str1_list = [] str2_list = [] for i in range(len(str1) - 1): temp = str1[i] + str1[i + 1] if t..
https://school.programmers.co.kr/learn/courses/30/lessons/17687 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr def solution(n, t, m, p): def convert(n, k): result = '' while n > 0: if str(n % k) == '10': result = 'A' + result elif str(n % k) == '11': result = 'B' + r..
https://www.acmicpc.net/problem/2644 import sysinput = sys.stdin.readlinen = int(input())p1, p2 = map(int, input().split())graph = [[] for _ in range(n+1)]visited = [0 for _ in range(n+1)]depth = [0 for _ in range(n+1)]# DFSdef dfs(graph, visited, v): visited[v] = 1 for i in graph[v]: if not visited[i]: depth[i] = depth[v] +1 dfs(graph, visited, i) return -1..
https://school.programmers.co.kr/learn/courses/30/lessons/120869 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr from itertools import permutationsdef solution(spell, dic): permu_list = [] for p in list(permutations(spell, len(spell))): p = list(p) permu_list.append("".join(p)) for p in permu_list: if ..
https://school.programmers.co.kr/learn/courses/30/lessons/138477 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr def solution(k, score): result = [] score_list = [] for s in score: score_list.append(s) score_list.sort(reverse=True) if len(score_list) >= k: score_list = score_list[:k..
https://school.programmers.co.kr/learn/courses/30/lessons/12933 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr def solution(n): n_list = [x for x in list(str(n))] n_list.sort(reverse=True) return int("".join(n_list))
https://www.acmicpc.net/problem/10026 import syssys.setrecursionlimit(10**6)dx = [0, 0, 1, -1]dy = [1, -1, 0, 0]# dfsdef dfs(gragh, visited, x, y): visited[x][y] = 1 for i in range(4): nx = x + dx[i] ny = y + dy[i] if (0
https://school.programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr def solution(s): answer = [] s_list = [] # 대괄호 삭제 -> 리스트화 for e in s.split("},"): e = e.replace("{{", "") e = e.replace("{", "") e = e.replace("}}", "") s_list.append(e.split(..
https://school.programmers.co.kr/learn/courses/30/lessons/17682 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  def solution(dartResult): dartResult = list(dartResult) dart = [] answer = [] # 숫자와 문자 분리 temp = '' for i in range(len(dartResult)): if dartResult[i].isdigit(): temp += dartResult[i] ..
https://school.programmers.co.kr/learn/courses/30/lessons/17681 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr def solution(n, arr1, arr2): arr1_map = [] arr2_map = [] result = [] # 2진수 def binary(num): b = '' while num > 0: b = str(num%2) + b num //= 2 if len(b)
https://school.programmers.co.kr/learn/courses/30/lessons/42889#qna 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr from collections import Counterdef solution(N, stages): # 변수 선언 percent = [] result = [] people = len(stages) counter = Counter(stages) counter = sorted(counter.items()) # (스테이지 번호, 인원) 리스트 counter..
https://www.acmicpc.net/problem/2935 import sysn = sys.stdin.readline().rstrip()op = sys.stdin.readline().rstrip()m = sys.stdin.readline().rstrip()answer = ''# 한 자리 수if len(n) == 1 and len(m) == 1: # 덧셈 if op == '+': if n == '1' and m == '1': print('2') elif (n == '1' and m == '0') or (n == '0' and m == '1'): print('1') elif n == '0' and m == '0':..
https://school.programmers.co.kr/learn/courses/30/lessons/17680#qna 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr from collections import dequedef solution(cacheSize, cities): cities = [x.lower() for x in cities] cache = deque() time = 0 # 캐시 사이즈 0 if cacheSize == 0: return len(cities) * 5 # 캐시 사이즈 1 이상 fo..
https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr from itertools import permutationsfrom collections import Counterdef solution(k, tangerine): counter = dict(Counter(tangerine)) values = sorted(list(counter.values()), reverse=True) sum = 0 cnt = 1 for v in va..
https://www.acmicpc.net/problem/1654 import sysn, target_cnt = map(int, sys.stdin.readline().split(" "))lines = []for _ in range(n): temp = int(sys.stdin.readline()) lines.append(temp)start = 1end = max(lines)while start = target_cnt: # 너무 촘촘하니까 mid 뒤로 미루기 start = mid + 1 else: end = mid - 1print(end)
https://www.acmicpc.net/problem/2805 import sysn, target = map(int, sys.stdin.readline().split(" "))tree = list(map(int, sys.stdin.readline().split(" ")))start = 1end = max(tree)while start mid: differ += (t - mid) # start와 end 조정 -> mid값을 조정하기 위해 if differ >= target: start = mid + 1 else: end = mid - 1print(end)
_니지
'🔻Algorithm' 카테고리의 글 목록