본문 바로가기

728x90
반응형

Python

[Programmers] 가장큰수 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 python sort 함수에서 key인자에 원하는 정렬 방식을 넣어줌으로써 다양한 정렬을 적용할 수 있다. 기본적인 정렬 컨셉은 앞의 수와 뒤의 수를 붙인 숫자와, 순서를 뒤집어서 붙인 숫자를 비교해서 전자가 크면 -1을 반환, 후자가 크면 1을 반환, 동일하면 0을 반환하여 순서를 조정하도록 하였다. 추가적으로 list를 선회하며 앞, 뒤의 수를 비교하도록 하기 위해 python .. 더보기
[Programmers] 도둑질 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42897?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이과정 본 문제는 다이나믹 프로그래밍의 유형으로 분류되어 있다. 다이나믹 프로그래밍, DP는 자료구조나 알고리즘 종류라기 보다는 모든 경우를 살펴봐야 할 때 속도 이슈를 해결하지 위한 문제 해결 유형으로 볼 수 있다. DP 적용을 위해서는 문제가 다음 두 가지 조건을 만족해야 한다. 1. DFS/BFS로 풀 수는 있지만 경우의 수가 너무 많은 문제 2. 경우의.. 더보기
파이썬 로그 핸들링 Logging이란 프로그램이 실행되는 동안 일어나는 정보를 기록으로 남기는 것 남겨야 하는 기록의 종류로는 유저의 접근, 프로그램의 Exception, 특정 함수의 사용 등이 있다. 남기는 방법으로는 console 화면에 출력하거나 파일 또는 DB에 남길 수 있다. 기록된 로그를 분석해서 의미있는 결과를 도출할 수 있으며, 실행시점 또는 개발시점에 남겨야 하는 기록은 상이할 수 있다. Print로 하면 되지 않을까? print를 이용해서는 console 창에만 출력할 수 있는데 이후 분석에는 사용할 수 없다. 개발이나 운영 레벨별 / 또는 모듈별로 기록을 남길 필요도 있는데 이러한 기능을 체계적으로 지원하는 모듈을 사용해서 logging을 남겨야 한다. Logging Level 프로그램의 진행 상황에 따.. 더보기
파이썬 예외처리 예외(Exception)란? 예상 가능한 예외 또는 예상이 불가능한 예외로 나눌 수 있다. 예상 가능한 예외 예상 불가능한 예외 발생 여부를 사전에 인지할 수 있다 개발자가 반드시 명시적으로 정의해야 한다 예를들어 사용자의 잘못된 입력, 파일이 없는 경우가 있을 수 있다 개발자 실수로 실행 시 발생하는 예외 예를들어 리스트 범위를 넘어가는 값 호출, 정수0으로 나누는 것들이 있다. 예외처리 예외가 발생할 경우 후속 조치 등의 대처가 필요한다. 프로그램도 제품이기 때문에 모든 잘못된 상황에 대해 대처해야 한다. 예외처리 (Exception Handling) 문법 try - except - else - finally try: #예외 발생 가능 코드 except : #예외 발생시 대응하는 코드 else: #예.. 더보기

728x90
반응형