본문 바로가기

🔅코딩테스트 공부🔅/❗백준138

[백준] 10828번 스택(with python) https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 1. 내가 작성한 코드 import sys n = int(sys.stdin.readline()) stack = [] for i in range(n): word = sys.stdin.readline().split() if word[0] == 'push': stack.append(word[1]) elif word[0] == 'pop': if len(stack) > 0: print(s.. 2023. 1. 29.
[백준] 9093번 단어 뒤집기(with python) https://www.acmicpc.net/problem/9093 9093번: 단어 뒤집기 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 www.acmicpc.net 1. 내가 작성한 코드 n = int(input()) arr = [] for i in range(n): word = input().split() for i in word: i = list(i) n = len(i) for j in range(n//2): i[j],i[n-1-j] = i[n-1-j],i[j] print(''.join(i),end=' ') 단어의 제일 첫 스펠링과 마지막 스펠링의.. 2023. 1. 28.
[백준] 10610번 30(with python) https://www.acmicpc.net/problem/10610 10610번: 30 어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한 www.acmicpc.net 1. 내가 작성한 코드 from itertools import permutations import sys n = sys.stdin.readline() #처음에 주어지는 수 arr = [] for j in permutations(n,len(n)): #순열로 모든 수 append j = list(j) #순열은 튜플 형식이기 때문에 list로 바꿔주기 k = 1 while k>0: result = 0 f.. 2023. 1. 27.
[백준] 2875번 대회or인턴(with python) https://www.acmicpc.net/problem/2875 2875번: 대회 or 인턴 첫째 줄에 N, M, K가 순서대로 주어진다. (0 ≤ M ≤ 100, 0 ≤ N ≤ 100, 0 ≤ K ≤ M+N), www.acmicpc.net 1. 내가 작성한 코드 n, m, k = map(int, input().split()) cnt = 0 while n+m-k >= 0: if n >= 2 and m >= 1 and (n-2)+(m-1) >= k: cnt+=1 n-=2 m-=1 else: print(cnt) break else: print(cnt) n + m - k > 0 일때라는 조건을 하나 더 입력을 했는데, 사실 아래 조건을 만족한다면 n + m - k > 0 조건도 자연스럽게 맞춰지기 때문에 굳.. 2023. 1. 27.
[백준] 2839번 설탕 배달(with python) https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 1. 정답 코드 n = int(input()) cnt = 0 while n >= 0: if n % 5 == 0: #5로 나누어 떨어질경우 cnt += (n//5) print(cnt) break n -= 3 #5로 나누어 떨어지지 않으면 3을 반복해서 빼준다 cnt += 1 else: #5와 3 둘 다 나누어 떨어지지 않을 경우 -1 출력 print(-1) 한 시간 정도 고민을 하다가 도저히,, 안되겠어서,,.. 2023. 1. 27.
[백준] 1920번 수 찾기(with python) https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 1. 내가 작성한 코드 n = int(input()) arr = set(map(int,input().split())) m = int(input()) arr1 = list(map(int, input().split())) for i in arr1: if i in arr: print(1) else: print(0) 처음에 arr를 list가 아닌 set으.. 2023. 1. 26.
[백준] 25501번 재귀의 귀재(with python) https://www.acmicpc.net/problem/25501 25501번: 재귀의 귀재 각 테스트케이스마다, isPalindrome 함수의 반환값과 recursion 함수의 호출 횟수를 한 줄에 공백으로 구분하여 출력한다. www.acmicpc.net 1. 내가 작성한 코드 def recursion(s, l, r): global cnt cnt += 1 if l >= r: return 1 elif s[l] != s[r]: return 0 else: return recursion(s, l+1, r-1) def isPalindrome(s): return recursion(s, 0, len(s)-1) n = int(input()) for i in range(n): word = input() cnt = 0.. 2023. 1. 25.
[백준] 18870번 좌표 압축(with python) https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net 1. 내가 작성한 코드 import sys n = int(sys.stdin.readline()) arr = list(map(int,sys.stdin.readline().split())) num = sorted(set(arr)) for i in arr: print(num.index(i), end=' ') set 함수를 이용해 arr의 중복을 제거한 .. 2023. 1. 25.
[백준] 7568번 덩치(with python) https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 1. 내가 작성한 코드 n = int(input()) w = [] h = [] for i in range(n): a,b = input().split() w.append(int(a)) h.append(int(b)) for i in range(n): cnt = n+1 for j in range(n): if w[i] >= w[j] or h[i] >= h[j]: cnt-=1 print(cnt.. 2023. 1. 22.