반응형

성장일기 60

[백준 5585문제] 그리디 알고리즘 - 거스름돈 ( python3)

가장 적게 잔돈을 줘야하니까, 거스름돈중에 큰 수 부터 나눠주고 남은돈을 다시 카운트 하면된다. 380엔을 냈고, 620엔의 거스름돈을 받아야하는데 이때 거스름돈 단위중에 가장 큰 단위부터 사용하면된다. 500엔으로 나눈 수를 count 해주고, 나머지값을 잔돈으로 넣어주고 다시 그다음으로 큰 100엔으로 나눠주다보면 500엔 100엔 10엔을 2번 사용해서 총 4번으로 값을 출력할수있다 n =int(input()) change = 1000- n coins = [500,100,50,10,5,1] count = 0 for coin in coins: count += change // coin change %=coin print(count)

[백준 11399문제] 그리디 알고리즘 - ATM ( python3)

문제를 잘 읽어보니, 어차피 가장 시간의 합의 최솟값을 구하는 것이라서, 가장 적은 시간이 걸리는대로 오름차순 정렬을 해준다음에 차례대로 더해주면 될 것 같아서 아래와 같이 구현했다. n =int(input()) p = list(map(int,input().split())) p.sort() result=0 list = [] for i in range(n): result +=p[i] list.append(result) print(sum(list))

[알고리즘] 같은 문자 찾아내기 & 짝 지어 모든 조합 찾아내기

리스트 중에 들어 있는 문자들 중에 같은 문자를 찾아내는 알고리즘을 알아 보겠다. def find_character(a): n = len(a) #리스트 수 result=set() #빈 집합인 변수를 result 이름으로 만들기 for i in range(0, n-1): #이전수를 고려하지 않아도 되니까 for j in range(i+1, n): if a[i]==a[j]: #문자중에 같은 문자가 있다면 result.add(a[i]) #같은 문자의 문자를 result 집합에 넣기 return result character=["a" , "b" ,"a",'b'] print(find_character(character)) 이번에는 n개의 문자에서 짝으로 만드는 모든 경우를 찾는 알고리즘 def find_chara..

[파이썬] 파일 데이터 한줄씩 읽고 합하고 평균구하기, read().splitlines()

sample이라는 파일을 읽고 한줄씩 문자열로 읽어내린다음에 그 값을 다시 data라는 리스트에 넣어준다. read()는 문자열로 반환해주기 때문에 합산을 구할때는 int로 치환을해서 정수형으로 계산을해준다. f= open('sample.txt','r') lines = f.read().splitlines() #한줄씩 문자열 읽기 data = [] sum=0 for line in lines: data.append(line) for i in range(0,len(data)): sum += int(data[i]) avg = sum/len(data) print(data) print(sum) print(avg) f.close() 여기서 평균의 값을 새로운 파일에 저장하는 코드를 추가하게되면 아래와 같이 쓸수있다...

Print '한 줄'에 결과값을 연속적으로 쓰고 싶을때, end=

일반적으로 연속적인 숫자값을 나타내려면 한줄에 결과값이 나오는 것이 아니라, 마치 엔터를 친 것처럼 결과값이 나타난다. 예를들어 아래와 같다. for i in range(1,10): print(i) 1부터 숫자 9까지 print 해보면, 당연히 아래와 같이 결과값이 나타날 것이다. 만약세 123456789 와 같이 나타내고 싶다면 어떻게 해야할까? 한줄로 표현하고 싶을때는 end 명령어를 같이 써주면된다. 예를들어 아래와 같이 써주면된다. for i in range(1,10): print(i,end='') #한줄에 입력하고 싶을 떄 end를 이용해서 끝문자를 지정하면된다. 현재 공백으로 넣어서 위와 같이 나타나는것 만약 끝문자를 지정한다면 다음과 같이 사용할수있다. for i in range(1,10):..

[파이썬코드] 1부터 n까지의 합 구하기 , 제곱의 합 구하기

1부터 연속으로 숫자의 합을 구하기 위해서는 위와 같이 for문을 이용해서 구하면 된다. def sumadd(n): sum =0 for i in range(1, n+1): sum = sum+i return sum print(sumadd(10)) 하지만 우리는 중고등학교 때 수학시간에 1부터 n까지의 합의 공식을 배웠을 것이다 그 공식을 이용해서 다시짜보자 def sumadd(n): for i in range(1 , n+1): sum = n * (n+1) /2 return sum print(sumadd(10)) 이렇게 짜면 훨씬 더 간단하고 빠르게 구할 수 있을 것이다 Q. 1부터 n까지 연속한 숫자의 제곱의 합을 구하는 프로그램을 for 반복문으로 만들어보라. def sumtest(n): s = 0 fo..

[파이썬기초 문법]Day2, 조건문 IF

조건문은 아무래도 프로그래밍을 하면서 가장 많이 사용하게 될 함수중 하나인 것 같은데요 파이썬에서 조건문을 어떻게 사용할 수 있는지에 대해서 정리해보겠습니다. if 조건문 사용법 if age < 30 : print('아직은 20대입니다') ​ if (조건절) : 띄어쓰기 4칸 (조건절이 참일 경우 실행할 문장) age = 25 if age < 30 : print(age,'살은','아직 20대를 의미합니다.') 변수 age 선언 후, 조건문까지 사용하는 예제 ​ 띄어쓰기 4칸 = tab 과 동일한 역할을 하지만, 어떤 개발자는 띄어쓰기로 하는것이 더 낫다라고 말씀하시는 분도 있는데 이유는 저도 정확히 기억은 안나네요.. if~ else 조건이 참일때와 거짓일때의 결과값을 도출하고자할때! else는 조건문이..

[파이썬기초 문법]Day1, Print() ,변수, 숫자와 문자열

프로그래밍 언어도 우리가 사용하는 언어처럼 외국어도 영어도 잘 알다가도 안쓰다보면 까먹잖아요? 컴퓨터 언어도 똑같은 언어 인 것 같아요! 안쓰면 까먹는 이슈요 그래서 저는 기록하곘습니다! ​ 문자 출력 - Print(' 문자' ) 파이썬에서의 출력 함수 Print () 함수에 대해서 알아보도록할게요. 문자나 글을 하고싶은 말 우리 화면으로 출력할때는 항상 Print() 함수를 써야해요 print('누리의 14일간의 파이썬기초 문법정리') Print함수는 Print + 소괄호 + 작은따옴표 + 하고싶은말 + 작은따옴표 + 소괄호 이렇게 사용하죠 ​ 제가 여기서 작은 따옴표 하나를 안쓰고 결과값을 출력하면 어떤 상황이 일어날까요? print('누리의 14일간의 파이썬기초 문법정리) SyntaxError: E..

반응형