본문 바로가기

전체 글

(151)
[Python/DailyAlgo] 79. 배열 정렬 문제 접근 및 공부 내용, 풀이는 모두 하단 코드에 "주석"으로 포함되어 있으니 참고해주세요.문제 유형 보기더보기정렬https://dailyalgo.kr/ko/problems/79 쉬운 문제지만, 람다식에 입력이 들어가는 인자를 어떤 식으로 사용해야 하는지에 대해 놓치기 쉬운 부분을 잘 찝어주고 있어서 가져왔다. 입력 : 길이가 2인 정수 리스트를 요소로 가지는 2차원 리스트 numbers 출력 : 첫 번째 값으로 오름차순, 두 번째 값의 절댓값으로 오름차순 정렬한 후,안정 정렬로 마무리하여 정렬이 완료된 2차원 리스트테스트케이스 번호 numbers return1 [[3,4],[2,-5],[3,-1],[1,7]] [[1,7],[2,-5],[3,-1],[3,4]]2 [[-1,2],[-1,-3],[0,5],..
[Python/프로그래머스] 121683. 외톨이 알파벳 문제 접근 및 공부 내용, 풀이는 모두 하단 코드에 "주석"으로 포함되어 있으니 참고해주세요.문제 유형 보기더보기더보기해시https://school.programmers.co.kr/learn/courses/30/lessons/121683  입력 : 문자열 input_string출력 : 외톨이 알파벳 사전 순 나열한 문자열input_string result"edeaaabbccd" "de""eeddee" "e""string" "N""zbzbz" "bz" 이 문제는 초기 접근에서 많이 어려움을 겪어, 강사님 손글씨 풀이를 듣고 힌트를 얻어 다시 풀이를 시작함.강사님's 풀이 1)외톨이, 등장 두 개의 set을 잡고, 마지막 문자라는 변수 하나를 잡음. 문자열을 탐색하며 하나씩 넣음. 이미 등장한 거 안에 있는..
[알고리즘 코딩캠프 2일차] 정렬과 람다 - sorted(), list.sort(), lambda, 일급 객체, 2차원 리스트 - 초기화, 입력, 순회 제가 재학 중인 대학교에서 열린 `파이썬 알고리즘 코딩캠프(25.02.03 ~ 25.02.14)` 수업을 듣고 정리한 글입니다.목차 :1일차 수업 내용 복습정렬과 람다오름차순&내림차순 정렬sorted()list.sort()커스텀 정렬 lambda일급 객체2차원 리스트 2차원 리스트 초기화2차원 리스트 입력2차원 리스트 순회 1일차 수업 내용 복습더보기더보기더보기컨테이너 자료형들의 분류순서가 있는 자료형 : 인덱스 접근 가능순서가 없는 자료형 : 인덱스 접근 불가능리스트 셋 딕셔너리 : 뮤터블 → 객체는 유지하고 내용을 바꿈나머지(튜플, 문자열) : 이뮤터블 → 객체 자체가 바뀜, 즉 메모리에 새로 할당됨리스트list.pop(i)가 O(N)인건 최악의 경우(pop(0))이면 뒤에 꺼 하나씩 앞으로 밀어야 ..
[Python/프로그래머스] 42578. 의상 문제 접근 및 공부 내용, 풀이는 모두 하단 코드에 "주석"으로 포함되어 있으니 참고해주세요.문제 유형 보기더보기더보기해시https://school.programmers.co.kr/learn/courses/30/lessons/42578 입력 : 코니의 의상들이 담긴 2차원 리스트 clothes출력 : 서로 다른 옷의 조합의 수 clothes return[["yellow_hat", "headgear"], ["blue_sunglasses", "eyewear"], ["green_turban", "headgear"]] 5[["crow_mask", "face"], ["blue_sunglasses", "face"], ["smoky_makeup", "face"]] 31차 풀이# 1차 풀이from collections..
[Python/프로그래머스] 42576. 완주하지 못한 선수 문제 접근 및 공부 내용, 풀이는 모두 하단 코드에 "주석"으로 포함되어 있으니 참고해주세요.문제 유형 보기더보기더보기해시https://school.programmers.co.kr/learn/courses/30/lessons/42576  입력 : 참가자 리스트, 성공자 리스트출력 : 실패한 사람 이름 문자열 participant completion return["leo", "kiki", "eden"] ["eden", "kiki"] "leo"["marina", "josipa", "nikola", "vinko", "filipa"] ["josipa", "filipa", "marina", "nikola"] "vinko"["mislav", "stanko", "mislav", "ana"] ["stanko", "an..
[Python/프로그래머스] 81301. 숫자 문자열과 영단어 문제 접근 및 공부 내용, 풀이는 모두 하단 코드에 "주석"으로 포함되어 있으니 참고해주세요.문제 유형 보기더보기더보기해시https://school.programmers.co.kr/learn/courses/30/lessons/81301 입력 : 일부가 인코딩된 문자열 s출력 : 인코딩된 일부를 디코딩한 원본 문자열s result"one4seveneight" 1478"23four5six7" 234567"2three45sixseven" 234567"123" 123 일부가 인코딩된 문자열 s가 주어짐.인코딩된 일부를 디코딩한 원본 문자열을 반환하자. 1차 풀이def solution(s): num_dict = {'zero': '0', 'one': '1', 'two': '2', '..
[Python/백준] 2798. 블랙잭 문제 접근 및 공부 내용, 풀이는 모두 하단 코드에 "주석"으로 포함되어 있으니 참고해주세요.문제 유형 보기더보기더보기리스트https://www.acmicpc.net/problem/2798 입력 : 카드의 개수 N과 최대 합 M, 그리고 카드들 목록출력 : M을 넘지 않으면서 M에 최대한 가까운 카드 3장의 합예제 입력 1 5 215 6 7 8 9예제 출력 1 21각 카드는 양의 정수.딜러는 N장 뽑아서 숫자 M 크게 외침.플레이어는 N장 중 3장을 골라 합이 M을 넘지 않으며 최대한 크게 만들어야 함.입력 : N(카드 개수), M과 카드 목록출력 : 내가 뽑은 카드 3장의 합1차 풀이# 1차 풀이import sysinput = sys.stdin.readlinen, m = map(int, input()...
[Python/프로그래머스] 12932. 자연수 뒤집어 배열로 만들기 문제 접근 및 공부 내용, 풀이는 모두 하단 코드에 "주석"으로 포함되어 있으니 참고해주세요.문제 유형 보기더보기더보기리스트https://school.programmers.co.kr/learn/courses/30/lessons/12932입력 : 자연수 n출력 : 뒤집은 리스트n return12345 [5,4,3,2,1]풀이1차 풀이# 1차 풀이 : C스럽게 풀이def solution(n): answer = [] while(n > 0): answer.append(n % 10) n = n // 10 return answer- C스럽게 푼 것 같음. 나중에 추가로 고민해보자.- input이 문자열이면 그냥 split이나 list() 해서 map쓴 다음 reverse 메..