C언어

· 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 ..
· Baekjoon
│문제 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net │풀이 (Python) import sys N=int(input()) arr=[] for i in range(N):arr.append(int(sys.stdin.readline())) arr.sort() for i in range(N):print(arr[i]) │설명 (Python) keypoint 1- sys.stdin.readline() 시간초과 문제를 해결하기 위해 스택문제와 같이 input()이 아닌 sys.stdin.readline()을..
· Baekjoon
│문제 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net │풀이 (Python) n=int(input()) a,b=0,1 while True: if n==0: break tmp=a a=a+b b=tmp n-=1 print(a) │풀이 (C언어) #define _CRT_SECURE_NO_WARNINGS #include int main(void) { int n = 0; scanf("%d", &n); int a = 0; int b = 1; int tmp = 0; while (1)..
· Baekjoon
│문제 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net │풀이 (Python) import sys N=int(input()) stack=[] for i in range(N): order=sys.stdin.readline().split() if "push" in order: stack.append(order[-1]) elif "back" in order: if len(stack) == 0: print(-1) else: print(stack[len(stack)-1]) elif "front" in o..
· Baekjoon
│문제 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net │Python풀이 N=int(input()) arr_N=list(map(int,input().split())) arr_N.sort() M=int(input()) arr_M=list(map(int,input().split())) def binarySearch(arr,target): left=0 right=N-1 while lefttarget: right=mid-1 else: left=mid+1 return F..
· Baekjoon
│문제 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net │풀이 (python) import sys N=int(input()) stack=[] for i in range(N): order=sys.stdin.readline().split() if "push" in order: stack.append(order[-1]) elif "pop" in order: if len(stack)==0: print(-1) else: print(stack[len(stack)-1]) stack.pop(len(stack..
yes_dohyun
'C언어' 태그의 글 목록