본문 바로가기
반응형

자료구조 알고리즘1009

(Python/🥉4)백준 알고리즘 1712번: 손익분기점 문제 출처:https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 풀이: (A,B,C) = map(int,input().split()) if B>=C: print(-1) else: print(A//(C-B)+1) 생산하는 대 수를 n이라고 하면 A+B*n = C*n 일 때 수입과 총비용이 같아진다. B>C 생산가격이 판매가격보다 높으면 손익분기점이 나타날 수 없다. >> -1 를 출력 생산량이 늘어날 때마다 C-B 만큼 이윤이 발생하게 된다 A/(C-B) .. 2022. 5. 12.
(Python/🥈5)백준 알고리즘 1316번: 그룹 단어 체커 문제 출처:https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 풀이: n = int(input()) result = n # 처음 결과 갯수는 처음 받은 단어갯수와 동일하게 선언 for i in range(n): word = input() for j in range(0,len(word)-1): if word[j]==word[j+1]: #앞뒤 단어 같으면 pass #패스 elif word[j] in word[j+1:]:.. 2022. 5. 12.
(Python/🥈5)백준 알고리즘 2941번: 크로아티아 알파벳 문제 출처:https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 풀이: input = input() word = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z='] for i in word: input = input.replace(i,"x") print(len(input)) >>> ljes=njak ljes=njak ljes=njak ljes=njak xes=njak xes=.. 2022. 5. 12.
(Python/🥉2)백준 알고리즘 5622번: 다이얼 문제 출처:https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 풀이: word = input() a=["ABC","DEF","GHI","JKL","MNO","PQRS","TUV","WXYZ"] result = 0 # 합 0선언 for i in range(len(word)): # 입력받은 단어의 길이만큼 for문 for j in a: # a리스트 안에서 포문 한번더 if word[i] in j: # a리스트 안에 해당하는 문자를 찾으면 result += a.index(j) + 3 # 그 해당하는 문자열 인덱스 + 3 print(res.. 2022. 5. 11.
(Python/🥉1)백준 알고리즘 4344번: 평균은 넘겠지 문제 출처:https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 풀이: n = int(input()) for i in range(n): a = list(map(int,input().split(" "))) avg = sum(a[1:])/a[0] # list 로 했기 때문에 인덱싱 가능 a[1]부터 a[n까지] a[o]으로 나눔 count = 0 # count 0 으로 선언 for j in range(1,len(a)): # 1부터 a에 길이만큼 for 문 돌림 if a[j] > avg: # a[i]가 평균보다 높으면 count +.. 2022. 5. 11.
(Python/🥉2)백준 알고리즘 8958번: OX퀴즈 문제 출처:https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 풀이: n = int(input()) # 테스트케이스 입력받음 for i in range(n): a = input() #한줄 받아옴 sum = 0 #합 0 으로 선언 sumpoint = 0 #연속된 합 0 으로 선언 for j in a: if j == 'O': # o 가 연속되면 1씩 더해줌 sumpoint += 1 else: # x 가 나오면 0 으로 만듦 sump.. 2022. 5. 11.
반응형