본문 바로가기

Problem Solving166

[백준|파이썬] 2852: NBA 농구 (실버3) 문제 https://www.acmicpc.net/problem/2852 2852번: NBA 농구 첫째 줄에 골이 들어간 횟수 N(1 goal[2]: #1팀이 승리 중 d_m, d_s = map(int, dic["1"].split(":")) # 1팀의 총 승리시간 d_m += m #1팀의 승리시간을 다음 골이 들어간 지점까지 연장 d_s += s while d_s >= 60: #60초 넘으면 1분으로 처리 d_s -= 60 d_m += 1 dic["1"] = str(d_m).zfill(2)+":"+str(d_s).zfill(2) #"MM:SS" 형태로 만들어 dic에 저장 elif goal[1] < goal[2]: #2팀이 승리 중 d_m, d_s = map(int, dic["2"].split(":")) .. 2023. 6. 27.
[백준|파이썬] 1138: 한 줄로 서기 (실버2) 문제 https://www.acmicpc.net/problem/1138 1138번: 한 줄로 서기 첫째 줄에 사람의 수 N이 주어진다. N은 10보다 작거나 같은 자연수이다. 둘째 줄에는 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다. i번째 수는 0보다 www.acmicpc.net 🐍파이썬 먼저 주석이 없는 코드는 다음과 같다. import sys, itertools input=sys.stdin.readline n = int(input()) dic = {idx+1:item for idx, item in enumerate(map(int, input().split()))} for i in itertools.permutations([i for i in range(1,.. 2023. 6. 24.
[프로그래머스|파이썬] 큰 수 만들기 (탐욕법(Greedy)/lv.2) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42883 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐍파이썬 더보기 def solution(number, k): answer = '' idx = number.index(max(number[:k])) k -= idx number = number[idx:] #k개 중 가장 큰 수까지 앞부분 자르기 for i in range(1, len(number)-k): if k == 0: break if number[i] < number[i+1]: numbe.. 2023. 6. 1.
[프로그래머스|파이썬] 소수 찾기 (완전탐색/lv.2) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐍파이썬 from itertools import permutations def solution(numbers): answer = 0 numbers = list(numbers)#numbers를 한글자씩 리스트에 저장 aset = set() for i in range(1, len(numbers)+1): for j in permutations(numbers, i):#순열생성 aset.add(int.. 2023. 5. 29.
[프로그래머스|파이썬] 숫자 변환하기 (연습문제/lv.2) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/154538 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐍파이썬 더보기 DFS def solution(x, y, n): def dfs(v, cur): global answer if cur == y: answer = v return if cur > y: return dfs(v+1, cur+n) dfs(v+1, cur*2) dfs(v+1, cur*3) global answer answer = 0 dfs(0, x) return answer - 1 재.. 2023. 5. 27.
[프로그래머스|파이썬] 2 x n 타일링 (연습문제/lv.2) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12900 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐍파이썬 더보기 ❌ 시간초과 실패 코드 from itertools import product def solution(n): total = n + n % 2 answer = 0 for i in range(2, total+1): for j in product([1, 2], repeat=i): if sum(j) == n: answer += 1 return answer 1과 2로 n을 만들 수 있는.. 2023. 5. 26.
[프로그래머스|파이썬] 2개 이하로 다른 비트(월간 코드 챌린지 시즌2/lv.2) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/77885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐍파이썬 더보기 ❌ 시간초과 실패 코드 def solution(numbers): answer = [] for i in numbers: num = bin(i)[2:] while True: i += 1 cnt = 0 num2 = bin(i) num = num.zfill(len(num2[2:])) for a, b in zip(num, num2[2:]): if a != b: cnt += 1 if c.. 2023. 5. 25.
[프로그래머스|파이썬] [1차] 프렌즈4블록 (2018 KAKAO BLIND RECRUITMENT/lv.2) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/17679 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐍파이썬 더보기 def solution(m, n, board): for i in range(m): board[i] = list(board[i]) total = 0 while True: aset = set() for i in range(m-1): for j in range(n-1): if board[i][j] == '': continue if board[i][j] == board[i][j+1].. 2023. 5. 24.
[프로그래머스|파이썬] 모음사전 (완전탐색/lv.2) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐍파이썬 from itertools import product def solution(word): answer = [] for i in range(1, 6): for j in product(["A", "E", "I", "O", "U"], repeat = i): answer.append("".join(j)) answer.sort() return answer.index(word)+1 중복순열을 .. 2023. 5. 24.
[프로그래머스|파이썬] 방문 길이 (Summer/Winter Coding(~2018)/lv.2) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐍파이썬 더보기 def solution(dirs): answer = 0 board = [[0 for _ in range(10)] for _ in range(10)] dic = {"U":(0, -1), "D":(0, 1), "R":(1, 0), "L":(-1, 0)} x, y = 0, 0 xydic = {} for command in dirs: nx = x + dic[command][0] ny.. 2023. 5. 23.
[프로그래머스|파이썬] 바탕화면 정리 (연습문제/lv.1) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/161990 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐍파이썬 def solution(wallpaper): lux, luy, rdx, rdy = 50, 50, 0, 0 for x in range(len(wallpaper)): for y in range(len(wallpaper[x])): if wallpaper[x][y] == "#": lux = min(lux, x)#매번 가장 작은 시작x점 갱신 luy = min(luy, y)#매번 가장 작은.. 2023. 5. 23.
[프로그래머스|파이썬] [3차] n진수 게임 (2018 KAKAO BLIND RECRUITMENT/lv.2) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/17687 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐍파이썬 def trans(num, base): r = '' numbers = "0123456789ABCDEF" if num == 0: #num이 0인 경우는 while문 돌지 않으므로 따로 처리해줌 return "0" while num: r = numbers[num%base]+r #이전에 변환한 r이 맨 뒤로 가게 처리 num //= base return r def solution(n, t.. 2023. 5. 22.
반응형