목록문제 풀이 (103)
honey_pot
인덱스 0의 value를 먼저 append한 후에 인덱스 1의 value부터 현재인덱스-1 의 value와 값이 다른지 확인하고 다르면 append하는 방식으로 풀었다. del이나 remove pop을 쓰면 stack 구조상 리스트의 모든 값을 한번씩 확인하고 해당 인덱스를 제거해야 하므로 효율성이 떨어진다. def solution(arr): a = [] for i in range(len(arr)): if i == 0: a.append(arr[i]) elif arr[i] != arr[i-1]: a.append(arr[i]) return a
문제 푸는 방법 찾기 시절을 떠올리며 if 문 열심히 복붙했으나 접근부터 틀린것이었다!!^^ calendar 라이브러리 사용한 풀이법 보고 이마를 탁탁 침 🤦♀️🤦♂️🤦♀️🤦♂️🤦♂️🤦♀️ import calendar def solution(a, b): days = ["MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"] answer = days[calendar.weekday(2016,a,b)] return answer
실패한 코드 : 대문자 + 30 이런 경우를 생각하지 못했다 ㅎㅎ... 채점 결과 61퍼 나옴 def solution(s, n): answer = '' for i in range(len(s)): if s[i] == " ": answer += " " else: temp = ord(s[i])+n if 90 122: answer += chr(97+(temp-123)) else: answer += chr(temp) return answer 답안 : 26으로 나누는 부분이 정말 놀랍다 어떻게 저런 생각을.. def solution(s, n): s = list(s) for i in range(len(s)): if s[i]..
def lcm(a, b): return a * b // gcd(a, b) def gcd(a, b): while b: a, b = b, a % b return a t = int(input()) for _ in range(t): A, B = map(int, input().split()) print(lcm(A, B)) 유클리드 호제법을 이용해서 최대공약수를 구하고 그것을 이용해서 최소공배수를 구한다.
n = int(input()) res1=res0=0 for _ in range(n): a = int(input()) if a==1: res1+=1 else: res0+=1 if res1 > res0: print("Junhee is cute!") else:print("Junhee is not cute!")
v = int(input()) vote = input() A=B=0 for i in range(len(vote)): if vote[i]=='A': A += 1 else: B+=1 if A > B: print("A") elif A ==B: print("Tie") else: print("B")