코딩 테스트/Baekjoon
백준 온라인 져지 문제 중 풀이해본 문제들의 해결 과정과 코드를 공유하는 내용을 담습니다.
-
문제 보기 : 2444번: 별 찍기 - 7 (acmicpc.net) 문제작성 코드#1차a = int(input())b = 2*a-1for i in range(1,a+1): p = 2*i-1 print(" "*((b-p)//2),"*"*p," "*((b-p)//2))for i in range(1,a): p = i print(" "*p,"*"*(b-2*p)," "*p)처음꺼는 이렇게 작성했음출력은 완벽하게 되는데 출력 방식이 잘못 됐다고 해서 for문 두개 겹쳐써서 그런 것 같아서 두개를 연결하는 방식으로 변경했다#2차a = int(input())b = 2*a-1for i in range(1,b+1): if i>a: p = i-a print(" "*p,..
B3 2444. 별 찍기문제 보기 : 2444번: 별 찍기 - 7 (acmicpc.net) 문제작성 코드#1차a = int(input())b = 2*a-1for i in range(1,a+1): p = 2*i-1 print(" "*((b-p)//2),"*"*p," "*((b-p)//2))for i in range(1,a): p = i print(" "*p,"*"*(b-2*p)," "*p)처음꺼는 이렇게 작성했음출력은 완벽하게 되는데 출력 방식이 잘못 됐다고 해서 for문 두개 겹쳐써서 그런 것 같아서 두개를 연결하는 방식으로 변경했다#2차a = int(input())b = 2*a-1for i in range(1,b+1): if i>a: p = i-a print(" "*p,..
2024.07.22 -
문제 보기 : 1157번: 단어 공부 (acmicpc.net) 문제작성 코드put = input().upper() # 입력한 단어를 모두 대문자로 변경li =[]for i in put : li.append(i) # 입력한 단어의 알파벳을 모두 포함하는 리스트 생성 re_li = list(set(li)) # 중복되는 알파벳 제거한 리스트counts = []for i in re_li: aa = li.count(i) counts.append(aa) # 알파벳별로 갯수 카운트maxval = max(counts) # counts에서 가장 큰 값은 counts에서 제거하는데countss= counts.copy() # 제거하기 전에 복사해둠counts.remove(max(counts)) if ..
B1 1157. 단어 공부문제 보기 : 1157번: 단어 공부 (acmicpc.net) 문제작성 코드put = input().upper() # 입력한 단어를 모두 대문자로 변경li =[]for i in put : li.append(i) # 입력한 단어의 알파벳을 모두 포함하는 리스트 생성 re_li = list(set(li)) # 중복되는 알파벳 제거한 리스트counts = []for i in re_li: aa = li.count(i) counts.append(aa) # 알파벳별로 갯수 카운트maxval = max(counts) # counts에서 가장 큰 값은 counts에서 제거하는데countss= counts.copy() # 제거하기 전에 복사해둠counts.remove(max(counts)) if ..
2024.07.18 -
문제 보기 : 10809번: 알파벳 찾기 (acmicpc.net) 문제작성 코드w = input()lis = []for i in range(97,123): if chr(i) in w : ww = w.index(chr(i)) lis.append(ww) else: lis.append(-1)for j in lis : print(j,end=' ')
B2 10809. 알파벳 찾기문제 보기 : 10809번: 알파벳 찾기 (acmicpc.net) 문제작성 코드w = input()lis = []for i in range(97,123): if chr(i) in w : ww = w.index(chr(i)) lis.append(ww) else: lis.append(-1)for j in lis : print(j,end=' ')
2024.07.18 -
문제 보기 : 10811번: 바구니 뒤집기 (acmicpc.net) 문제작성 코드n,m = map(int, input().split())a = [g+1 for g in range(n)]aa=a.copy()for _ in range(m): i,j = map(int,input().split()) if (j-i)%2 != 0: if j-i==1: a[i-1] = aa[j-1] # 2,3 a[j-1] = aa[i-1] aa = a.copy() else: for p in range(i-1,int((j+1)/2)): #2,2 if j == p: ..
B2 10811번. 바구니 뒤집기문제 보기 : 10811번: 바구니 뒤집기 (acmicpc.net) 문제작성 코드n,m = map(int, input().split())a = [g+1 for g in range(n)]aa=a.copy()for _ in range(m): i,j = map(int,input().split()) if (j-i)%2 != 0: if j-i==1: a[i-1] = aa[j-1] # 2,3 a[j-1] = aa[i-1] aa = a.copy() else: for p in range(i-1,int((j+1)/2)): #2,2 if j == p: ..
2024.07.15 -
문제 보기 : 10813번: 공 바꾸기 (acmicpc.net)문제작성 코드n,m = map(int, input().split())listt = [g+1 for g in range(n)]listt1=listt.copy()for _ in range(m): i,j = map(int,input().split()) listt1[i-1] = listt[j-1] listt1[j-1] = listt[i-1] listt = listt1.copy() for n in range(n): print(str(listt1[n])+' ', end = '') 앞 포스팅인 '공 넣기'와 아주 많이 유사하지만 다른 부분이 보인다. 엔터 포함 넷째줄과 첫번째 for문이 달랐다.
B2 10813. 공 바꾸기문제 보기 : 10813번: 공 바꾸기 (acmicpc.net)문제작성 코드n,m = map(int, input().split())listt = [g+1 for g in range(n)]listt1=listt.copy()for _ in range(m): i,j = map(int,input().split()) listt1[i-1] = listt[j-1] listt1[j-1] = listt[i-1] listt = listt1.copy() for n in range(n): print(str(listt1[n])+' ', end = '') 앞 포스팅인 '공 넣기'와 아주 많이 유사하지만 다른 부분이 보인다. 엔터 포함 넷째줄과 첫번째 for문이 달랐다.
2024.07.15 -
문제 보기 : 10810번: 공 넣기 (acmicpc.net)문제작성 코드n,m = map(int, input().split())listt = [0 for g in range(n)]for _ in range(m): i,j,k = map(int,input().split()) for b in range(i-1,j): listt[b] = k for n in range(n): print(str(listt[n])+' ', end = '')
B3 10810번. 공 넣기문제 보기 : 10810번: 공 넣기 (acmicpc.net)문제작성 코드n,m = map(int, input().split())listt = [0 for g in range(n)]for _ in range(m): i,j,k = map(int,input().split()) for b in range(i-1,j): listt[b] = k for n in range(n): print(str(listt[n])+' ', end = '')
2024.07.15 -
문제 보기 : 1110번: 더하기 사이클 (acmicpc.net)문제예제입력26551출력4360작성 코드num = int(input())a = num//10 #2b = num%10 #6i=0while True: new = a+b # 8 if new >= 10 : new -= 10 newnum = 10*b+new #68 i+=1 #1 if num == newnum : #26 != 68 break a = newnum//10 #6 b = newnum%10 #8 print(i)
B1 1110. 더하기 사이클문제 보기 : 1110번: 더하기 사이클 (acmicpc.net)문제예제입력26551출력4360작성 코드num = int(input())a = num//10 #2b = num%10 #6i=0while True: new = a+b # 8 if new >= 10 : new -= 10 newnum = 10*b+new #68 i+=1 #1 if num == newnum : #26 != 68 break a = newnum//10 #6 b = newnum%10 #8 print(i)
2024.07.14 -
문제 보기 : 1002번: 터렛 (acmicpc.net)문제조규현과 백승환은 터렛에 근무하는 직원이다. 하지만 워낙 존재감이 없어서 인구수는 차지하지 않는다. 다음은 조규현과 백승환의 사진이다.이석원은 조규현과 백승환에게 상대편 마린(류재명)의 위치를 계산하라는 명령을 내렸다. 조규현과 백승환은 각각 자신의 터렛 위치에서 현재 적까지의 거리를 계산했다.조규현의 좌표 (x1, y1)와 백승환의 좌표 (x2, y2)가 주어지고, 조규현이 계산한 류재명과의 거리 r1과 백승환이 계산한 류재명과의 거리 r2가 주어졌을 때, 류재명이 있을 수 있는 좌표의 수를 출력하는 프로그램을 작성하시오.작성 코드이 문제는 좌표평면에 원 그리면서 문제부터 이해했다.그리고 반례가 생각보다 많아서 시간이 오래 걸렸던 문제다.반례는..
S3 1002번. 터렛문제 보기 : 1002번: 터렛 (acmicpc.net)문제조규현과 백승환은 터렛에 근무하는 직원이다. 하지만 워낙 존재감이 없어서 인구수는 차지하지 않는다. 다음은 조규현과 백승환의 사진이다.이석원은 조규현과 백승환에게 상대편 마린(류재명)의 위치를 계산하라는 명령을 내렸다. 조규현과 백승환은 각각 자신의 터렛 위치에서 현재 적까지의 거리를 계산했다.조규현의 좌표 (x1, y1)와 백승환의 좌표 (x2, y2)가 주어지고, 조규현이 계산한 류재명과의 거리 r1과 백승환이 계산한 류재명과의 거리 r2가 주어졌을 때, 류재명이 있을 수 있는 좌표의 수를 출력하는 프로그램을 작성하시오.작성 코드이 문제는 좌표평면에 원 그리면서 문제부터 이해했다.그리고 반례가 생각보다 많아서 시간이 오래 걸렸던 문제다.반례는..
2024.07.13