Python

· Baekjoon
문제 20365번: 블로그2 neighbor 블로그를 운영하는 일우는 매일 아침 풀고 싶은 문제를 미리 정해놓고 글을 올린다. 그리고 매일 밤 각각의 문제에 대하여, 해결한 경우 파란색, 해결하지 못한 경우 빨간색으로 칠한 www.acmicpc.net 풀이 (Python) n=int(input()) arr=list(input()) def check(): #전체 원소가 같은 색깔인지 점검하는 함수 for i in range(1,len(arr)): if arr[i-1]!=arr[i]: return False return True def paint_count(): arr_B,arr_R,result=0,0,0 if len(arr)==1 or check(): #예외처리 arr가 1개만 입력되거나 전체 원소가 같은..
· Baekjoon
문제 20115번: 에너지 드링크 페인은 에너지 드링크를 좋아하는 회사원이다. 에너지 드링크는 카페인, 아르기닌, 타우린, 나이아신 등의 성분이 들어있어 피로 회복에 도움을 주는 에너지 보충 음료수이다. 야근을 마치고 한 www.acmicpc.net 풀이 (Python) #많은 양을 남기고 적은양을 /2값하여 많은 에너지 드링크에 합치면 되는 문제 n=int(input()) arr=list(map(int,input().split())) max_drink=max(arr) arr.remove(max_drink) #제일 큰 값 제외 전부 /2하여 큰값에 더하면 되기 때문에 for ele in arr: #for문을 통해 제일 큰 값에 계속 더해주기 max_drink+=ele/2 print(max_drink) 설..
· Baekjoon
문제 1343번: 폴리오미노 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다. www.acmicpc.net 풀이 (Python) arr=list(input()) def poli(): count=0 for i in range(len(arr)): #x의 개수가 4개 연속으로 있다면 A로 대체하기 위한 for문 if arr[i]=="X": count+=1 else: count=0 if count==4: for j in range(4): arr[i-j]="A" count=0 count=0 for i in range(len(arr)): #x의 개수가 3개가 남아있는 case가 있다면 false리턴을 위한 for문 if arr[i]=="X": count+=1 else: cou..
· Baekjoon
문제 28278번: 스택 2 첫째 줄에 명령의 수 N이 주어진다. (1 ≤ N ≤ 1,000,000) 둘째 줄부터 N개 줄에 명령이 하나씩 주어진다. 출력을 요구하는 명령은 하나 이상 주어진다. www.acmicpc.net 풀이 (Python) import sys input=sys.stdin.readline n=int(input()) input_arr=[] stack=[] def is_empty(): if len(stack)==0: return True return False for _ in range(n): input_arr=list(map(int,input().split())) if input_arr[0]==1: stack.append(input_arr[1]) elif input_arr[0]==2: ..
· Baekjoon
문제 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 풀이 (Python) from collections import deque n=int(input()) queue=deque() for i in range(1,n+1):queue.append(i) while True: if len(queue)==1: break queue.popleft() queue.append(queue[0]) queue.popleft() print(*queue) 설명 (Python) 설명과 함께 첫 풀이 과정으로 풀이하겠다. 문제에서 제시..
· Baekjoon
문제 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 풀이 (Python) import heapq import sys N=int(input()) num=0 Heapq=[] for i in range(N): num=int(sys.stdin.readline()) if num==0: if len(Heapq)==0:print(0) else: print(-Heapq[0]) heapq.heappop(Heapq) else: heapq.heappush(Heapq,-num) 설명 (Python) 힙(He..
· Baekjoon
│문제 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net │풀이 (Python) memo={0:0,1:1,2:2} def tileFill(n): if n in memo: return memo[n] else: memo[n]=tileFill(n-1)+tileFill(n-2) return memo[n] n=int(input()) print(tileFill(n)%10007) │설명 (Python) 2xn 타일링 문제 풀이에 관해 생각의 흐름은 경우의 수이다. 세로로 한개의 타일이 있다고 가정할 때 다음 타일이 올 수 있는 경우의 수는 2개이..
· Baekjoon
│문제 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net │풀이 (Python) def fibo(n): if n
· Baekjoon
│문제 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net │풀이 (Python) N=int(input()) arr = [[0 for j in range(2)] for i in range(N)] for i in range(N): arr[i][0],arr[i][1]=map(int,input().split()) arr.sort() for i in range(N):print(arr[i][0],arr[i][1]) │설명 (Python) keypoint 1- 파이썬 리스..
· Baekjoon
│문제 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net │풀이 (Python) from collections import deque import sys Deque=deque() N=int(input()) def empty(): if len(Deque)==0:return 1 else:return 0 for i in range(N): order=sys.stdin.readline().split() if "push_front" in order: Deque.appendleft(order[1]) elif ..
yes_dohyun
'Python' 태그의 글 목록 (3 Page)