알고리즘 2

[파이썬/알고리즘] 스택을 활용한 가장 큰 수 문제

파이썬을 이용한 가장 큰 수 구하기 문제 문제) 주어진 숫자의 자릿수에서 m개의 수를 제거해서 가장 큰 수를 만드는 프로그램을 작성하라. 입력 10진수 n과 제거해야할 자릿수의 개수 m이 주어진다. 풀이 n, m = map(int, input().split()) n = list(map(int, str(n))) #숫자n을 스트링으로 바꿔야 하나씩 접근 가능. stack=[] for x in n: while stack and m>0 and stack[-1] 앞에 2를 제거 6 -> 앞에 2, 5 제거 3개밖에 제거 못했기 때문에, 뒤에서 2개를 더 제거한다.(내림차순이 되어 있기 때문에.) stack[:-2] 참고) https://study3.tistory.com/6 [자료구조] 스택, 큐 stack(스택)..

[파이썬] 전역변수와 지역변수, 의미와 사용법

전역변수와 지역변수란? 지역 변수(local variable) - 함수 안에서 만들어진 변수 전역 변수(global variable) - 함수 밖에서 만들어진 변수 이름에서 알 수 있듯 지역변수는 Local - 특정 영역에서만 사용할 수 있는 변수이고, 전역변수는 global - 모든 곳에서 사용할 수 있는 변수입니다. 지역변수(local) def F(x): a=10 #지역변수 print(a) 위에서 a는 함수 안에서만 사용되는 지역변수입니다. F라는 함수는 print(a)를 시행하는데, 함수 안에서 선언된 a=10을 출력하는 것을 볼 수있습니다. 그러나 a는 함수 안에서만 유효하기 때문에 a를 함수에 대입하거나, a 자체를 프린트하려고 하면, 오류가 나는 것을 볼 수 있습니다. a가 선언되지 않았다는 ..

카테고리 없음 2022.11.08