온코더 레벨 11 잔액 계산
·
코테 문제 풀이/온코더 oncoder
class Solution: def solution(self, balance, transactions): self.b = balance self.t = transactions for i in self.t: if "C" in i : a=i[2:] self.b += int(a) if "D" in i: a=i[2:] self.b -= int(a) return self.b cs "C 거래금액" "D 거래금액" 이므로 C 또는 D가 들어있는지 먼저 판단 후, i[2:]로 거래금액을 a에 저장한다. 출처 : www.oncoder.com/
온코더 레벨 10 평형점 구하기
·
코테 문제 풀이/온코더 oncoder
from math import * class Solution: def solution(self, x1, m1, x2, m2): self.x1 =x1 self.m1=m1 self.x2=x2 self.m2=m2 res = ((sqrt(self.m1)*self.x2)+(sqrt(self.m2)*self.x1)) / (sqrt(self.m2)+sqrt(self.m1)) return res Colored by Color Scripter cs res는 두 물체 사이에 놓일 새로운 물체의 위치이다. 만유인력 공식인 질량1*질량2 / 거리^2 를 이용해서(중력 상수 G는 무시) x1와 res사이의 힘과 x2와 res 사이의 힘이 같다고 두면 res를 구할 수 있다. 출처 : www.oncoder.com/
온코더 레벨 9 스택 만들기
·
코테 문제 풀이/온코더 oncoder
class Solution: def solution(self, cmds): self.c = cmds self.s = [] for i in self.c: if "PUSH" in i: d=i[5:] self.s.append(int(d)) if "POP" in i and self.s !=[]: self.s.pop() return self.s cs 파이썬 알고리즘 강의를 듣지 않아서 큐와 스택을 모르고 문제를 시작했지만 의외로 간단한거였다 ! 스택은 항아리에 음식을 하나하나 담듯이 가장 먼저 넣은 것이 나중에 나오고, 가장 나중에 넣은 것이 뺄 때는 먼저 나오는 것이다. 파이썬의 리스트와 함수를 사용하면 list.append() list.pop() 을 사용할 수 있는데 이 때 pop() 은 빈칸이어야 한다. 그..
온코더 레벨 8 큐 만들기
·
코테 문제 풀이/온코더 oncoder
class Solution: def solution(self, cmds): self.c = cmds self.q = [] for i in self.c: if "PUSH" in i: d=i[5:] self.q.append(int(d)) if "POP" in i and self.q!=[]: self.q.pop(0) return self.q cs - 만약 큐에 아무것도 있지 않다면, 명령을 무시합니다.
온코더 레벨 7 정렬하기
·
코테 문제 풀이/온코더 oncoder
class Solution: def solution(self, arr): self.a = arr self.t=[] for i in self.a: self.t.append(str(i)) self.t.sort() return list(map(int,self.t)) cs '사전순'으로 정렬하라고 했으니 문자열로 만들어주면 된다. 출처 : www.oncoder.com/
온코더 레벨 6 셀프넘버 판별
·
코테 문제 풀이/온코더 oncoder
class Solution: def solution(self, a): self.a = a self.sum = 0 self.res=[] for i in range(1,self.a+1): self.sum=i for j in range(0,len(str(i))): self.sum += int(str(i)[j]) self.res.append(str(self.sum)) return self.res.count(str(a)) cs 출처 : www.oncoder.com/
온코더 레벨 5 13구하기
·
코테 문제 풀이/온코더 oncoder
class Solution: def solution(self, a): cnt=0 for i in range(1,a+1): if '13' in str(i): cnt+=1 return cnt cs 괜히 정규식 썼다가 4번째 데이터 채점에서 오답이 나와서 더 쉽게 바꿨다...;; 출처 : www.oncoder.com/
온코더 레벨 4 짝수 개수 구하기
·
코테 문제 풀이/온코더 oncoder
class Solution: def solution(self, arr): cnt=0 for i in range(len(arr)): if arr[i]%2==0: cnt +=1 return cnt cs 출처 : www.oncoder.com/