전체 글

·면접 준비
질문 리스트 What is the difference between list and tuples in Python? What are the key features of Python? What type of language is python? Programming or scripting? Python an interpreted language. Explain. What is pep 8? 1. What is the difference between list and tuples in Python? 리스트와 튜플의 차이 리스트 (List) 리스트는 가변 객체(mutable)이다. 그래서 선언 후 리스트의 안에 요소 값을 수정, 삭제 가능하다 ✅ 리스트는 대괄호 [ ] 리스트가 더 많은 메모리를 소모한다. 더 느..
프로그래머스 Level 2 호텔 대실 문제 https://school.programmers.co.kr/learn/courses/30/lessons/155651# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1차 풀이 왜 틀린지 모르겠다.... 반례를 모르겠다! """ 최소한 객실으로 예약손님 받기 예약시간 = book_time 10분 청소 필수 필요한 최소 객실의 수 """ def solution(book_time): answer = 0 room = [] # 특정 기준으로 정렬 (입장 시간 기준) # sort와 lambda 함수 사용하기 book_tim..
프로그래머스 Level 2 (깊이/너비 우선 탐색(DFS/BFS)) 타겟 넘버 문제 https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1차 풀이 BFS로 풀었다! def solution(numbers, target): answer = 0 leaves = [0] for i in numbers: tmp = [] for parent in leaves: tmp.append(parent + i) tmp.append(parent - i) leaves = t..
프로그래머스 Level 2 혼자서 하는 틱택토 https://school.programmers.co.kr/learn/courses/30/lessons/160585 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1차 풀이 가로, 세로, 대각선으로 나눠서 빙고를 따져보았다 """ 3x3 선공 o, 후공 x 가로, 세로, 대각선 중 하나라도 같은 표시이면 승리 실수 : 잘못 표시, 이미 게임 끝남 정답 = 1, 오답 = 0 """ def solution(board): answer = -1 win = 0 count = 0 # 승부가 이미 났을 경우 따지기 for..
프로그래머스 Level 2 덧칠하기 문제 https://school.programmers.co.kr/learn/courses/30/lessons/161989 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문제 설명은 복잡한데 문제 풀이는 쉽다 근데 솔직히 푸는데는 엄청 오래걸림....ㅎ """ n 미터의 벽 m 미터의 롤러 길이 페인트 덧칠하기 (구역 나누어 칠하기) 칠하는 규칙: 벽 벗어나지 않음, 일 부분만 칠하기 없음 """ def solution(n, m, section): answer = 0 tmp = 0 for i in range(len(..
Programmers 할인 행사 문제 https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1차 풀이 (실패) 일단 want와 number의 데이터를 dictionary로 하나로 묶었다 원하는 물건 want의 숫자인 number이 다 없어지면 answer값을 늘려주는 형식의 코드를 쓰면 성공할 거 같다. """ 10일 -> 회원 자격 할인 제품 -> 하루에 하나씩 구입 가능 회원 등록시 원하는 제품을 모두 할인 받을 수 있는 날짜 구하기 """ d..
·알고리즘
완전 탐색 (Brute Force Search / Exhaustive Search) 완전 탐색은 영어로 "Brute Force Search" 또는 "Exhaustive Search" 라고 한다 그럼 일단 영어 뜻 부터 확인 해보자 brute force 뜻 great physical force or strength "무식하게 강한 힘" 처럼 해석할 수 있다. exhaustive 뜻 complete and including everything: "완전히, 철저히, 모든 것을 포함하는" 과 같이 해석 할 수 있다 완전 탐색 알고리즘이란? 모든 경우의 수를 시도하는 방법 구현이 간단하다 해가 존재한다면 반드시 해를 찾을 수 있다 (시간이 많이 걸릴뿐..) 근데 무식하게 모든 경우의 수를 다 시도 해보기 때문에 ..
프로그래머스 : Level 2 피로도 (완전 탐색) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 순열 사용 접근법 : 일단 던전 가는 경우의 수 모두 구한 뒤 무작정 피로도 확인하기 던전 [0, 1, 2] 가 있을 경우 던전이 3개일 경우 가는 경우의 수 (순열 permutations) [0, 1, 2] [0, 2, 1] [1, 2, 0] [1, 0, 2] [2, 0, 1] [2, 1, 0] 이거를 일단 for loop로 구해..
찌르비
아주 쉽게 정리한 블로그