본문 바로가기

Python

(58)
[sw expert academy] 1970. 쉬운 거스름돈 https://swexpertacademy.com/main/main.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com def dvd(sion,dend): return sion //dend T= int(input()) for t in range(1,T+1): money= int(input()) print("#{}".format(t)) for i in [50000,10000,5000,1000,500,100,50,10]: num=dvd(money,i) money-=num*i print(num,end=" ") print("")
[sw expert academy] 1926. 간단한 369 게임 https://swexpertacademy.com/main/main.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com N= int(input()) for a in range(1,N+1): a = str(a) count = 0 for i in range(len(a)): if a[i]=="3" or a[i]=="6" or a[i]=="9": count+=1 if count ==0: print(a,end=" ") else: print('-'*count,end=" ")
220112 학습일기 1. 파일을 쓰기모드로 열어봤으니 이젠 뭐라도 써보자. f = open("1월9일.txt", "w") for i in range(1, 10): f.write("This is line {} \n".format(i)) f.close() 이렇게 하면 "1월9일.txt"라는 파일이 이렇게 된다. 위의 방법과 아래에 나오는 방법의 차이점을 알아보자. for i in range(1,10): print("This is line {}".format(i)) 두 프로그램의 다른 점은 출력하는 방법이다. 첫번째 방법은 모니터 화면 대신 파일에 결괏값을 적는 방법이고(파일 객체 f의 write함수 사용), 두번째 방법은 모니터 화면에 출력하는 방법이다(print 사용). 2. Hi.txt 파일을 만들어보자.(현재 작업하고 있..
[sw expert academy] 2005. 파스칼의 삼각형 https://swexpertacademy.com/main/main.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com def my_factorial(n): if n>1: return n*my_factorial(n-1) else: return 1 T = int(input()) for t in range(1,T+1): N = int(input()) print("#{}".format(t)) print(1) for n in range(1,N): for i in range(n+1): print(my_factorial(n)//(my_factorial(n-i)*my_factorial(i)), end=" ") print(..
220109 학습일기 오늘도 점프 투 파이썬 1. 매개변수에 초깃값 설정하기 def aboutme(name,age,woman = True): print("내 이름은 {}입니다.".format(name)) print("제 나이는 {}에요".format(age)) if woman: print("전 여자입니다.") elif woman==False: print("전 여자가 아닙니다") aboutme("승니",21) print("") aboutme("승니",21,woman=True) 내 이름은 승니입니다. 제 나이는 21에요 전 여자입니다. 내 이름은 승니입니다. 제 나이는 21에요 전 여자입니다. man=True 처럼 매개변수에 미리 값을 넣었다. 매개변수의 초깃값을 설정해준 것이다. 매개변수에 들어갈 값이 항상 변하는 것이 아닐 ..
[sw expert academy] 1974. 스도쿠 검증 https://swexpertacademy.com/main/main.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 이 문제는 3번의 실패 끝에 성공했다. 이것도 모범답안 없이 혼자 풀었다. sum을 이용해 합이 45가 되는지 안 되는지로 풀고 싶었지만 예외가 있을 것 같아 하나하나 확인해보는 방법으로 했다. 댓글을 보니 어떤 분께서 합은 45가 되지만 문제 조건에 맞지 않는 예시를 찾으셨다. 그것도 진짜 쉬운 일 아닌데.. 대단하시다는 생각이 든다. 내 코드는 다음과 같다. 56,924kb메모리 137ms실행시간 T = int(input()) for t in range(1,T+1): bool_lst_wd..
220106 학습일기 빡센 문제를 하나 풀었더니 머리가 어질어질하다. 1. tab되어있는 것을 반대 tab하기 위해서는 shift + tab 을 하면 된다. num_r = 0 num_d = 0 num_l = 0 num_u = 0 이렇게 tab 되어있는 것을 반대 tab하면 num_r = 0 num_d = 0 num_l = 0 num_u = 0 이렇게 된다. 2. 전역변수를 지역범위(예를 들면 함수 내) 에서 사용하고 싶으면 지역영역에서 global 표현을 사용해야 한다. a= 1 def add_a(): for i in range(10): a+=1 return a print(add_a()) 아래와 같은 에러가 뜬다. UnboundLocalError: local variable 'a' referenced before assign..
[sw expert academy] 1954. 달팽이 숫자 https://swexpertacademy.com/main/main.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 이 문제 쉽지 않다.. 먼저 n=4일 때를 기준으로 먼저 코딩을 했다. def puzzle(): for i in range(4): for j in range(4): print(arr[i][j],end=" ") print(" ") arr = [] for i in range(4): arr.append([0 for t in range(4)]) on =1 for i in range(4): arr[0][i] = on on+=1 for i in range(3): arr[i+1][3] = on on+=1..
[sw expert academy] 1966. 숫자를 정렬하자 https://swexpertacademy.com/main/main.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 56,684 kb메모리 133 ms실행시간 T = int(input()) for t in range(1,T+1): N = int(input()) result = "" lst = list(map(int,input().split())) lst.sort() for i in lst: result += str(i) +" " print("#{} {}".format(t,result)) 모범답안에 영감을 받아 join으로도 풀어보면 56,688kb메모리 131ms실행시간 T = int(input()) fo..
[sw expert academy] 1961. 숫자 배열 회전 https://swexpertacademy.com/main/main.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com (12/23일에 푼 문제다;; ㅋㅋ) 문제를 첨 보자마자 헉 했다.. 이걸 어떻게 풀지.. 그래서 가장 먼저 모범답안을 봤다. 내 기준 모범답안은 실행시간이 가장 짧은 것이었다. 아래 답안은 samsungsh 님의 답안이다. 51,668 kb메모리 107 ms실행시간 사실 이걸 봐도 바로 아..! 하고 느낌이 오지 않는다. 특히 for문 두개의 중첩은 더더욱.. 그래서 메모에 하나씩 써가며 분석했다. 위에 코드의 해설을 다음과 같다.(예시로 n=3인 경우를 들었다) 먼저 변수 T를 입력받고 ..