python28 [Python] 파이썬 sorted(), 커스텀 정렬, 정렬을 수행할 때 단순히 한 항목에 대해서만 정렬하는 것이 아니라, 여러 항목에 정렬을 적용해야 하는 경우가 많다.이 때, 커스텀 정렬이 필요하다. 파이썬 정렬에 익숙하지 않아서 그런지 C++보다 여러 항목에 대한 정렬이 조금 어려운 느낌이다. C++은 True, False로만 리턴하면 되는데 파이썬은 1, 0, -1을 리턴해야 한다... 직관적으로 이해하기 어려워서 그냥 1이면 C++의 True, -1이나 0이면 C++의 False로 이해해버렸다. 아래는 functools 의 cmp_to_key 를 사용해 custom sort 함수인 compare_students를 key로 넘겨주는 예제이다. name에 대해서는 내림차순, 나이와 점수에 대해서는 오름차순 정렬하고자 하였다. C++ 스타일 같지만 원하는.. 2024. 7. 18. [Python] 프로그래머스 정수 내림차순으로 배치하기 https://school.programmers.co.kr/learn/courses/30/lessons/12933?language=python3 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이sorted(reverse=True) 함수를 사용해 역전시켜줍니다. str을 일일히 합쳐준 후 int형으로 반환하는 풀이를 작성했습니다. join 함수를 사용하면 for문 없이 문자열을 합칠 수 있습니다.def solution(n): answer = "" for i in sorted(str(n), reverse=True): answer += i .. 2024. 7. 18. [Python] 프로그래머스 자연수 뒤집어 배열로 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/12932?language=python3# 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이 list reverse와 reversed(iterable)을 사용한 풀이입니다. 이때, reversed(iterable) 은 역전된 iterator를 리턴합니다 (인수 타입을 리턴하지 않음). def solution(n): answer = [int(i) for i in str(n)] answer.reverse() return list(map(.. 2024. 7. 17. [Python] 프로그래머스 자릿수 더하기 https://school.programmers.co.kr/learn/courses/30/lessons/12931?language=python3 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이아래 3개 return 모두 정답 풀이입니다. map의 경우 map(f, iterable) 형태로 iterable에 f를 모두 적용시켜 리턴합니다. def solution(n): answer = 0 for num in str(n): answer += int(num) return sum(map(int, str(n))) return.. 2024. 7. 17. [Python] 문자열 내 p와 y의 개수 https://school.programmers.co.kr/learn/courses/30/lessons/12916?language=python3 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이def solution(s): cnt = 0 for c in s: if c == 'p' or c == 'P': cnt+=1 elif c == 'y' or c == 'Y': cnt-=1 return not cnt 다른 이의 풀이def solution(s): ret.. 2024. 7. 8. [Python] Iterable과 Iterator Iterableiterable 객체: 반복 가능한 객체대표적인 iterable 타입: bytes, list, set, dict, str, tuple, rangeIterator값을 차례대로 꺼낼 수 있는 객체iterable 객체를 내장함수나 iterable 객체의 메서드(__iter__)로 생성 가능함+ 파이썬 내장함수 iter()를 사용해서 iterator 객체 생성 가능함+iterable 객체는 매직매서드 __iter__ 를 통해 iterator 객체 생성 가능함next 내장함수나 iterator의 매직메서드 __next__를 사용해 값에 차례로 접근 가능함next(a_iter)a_iter.__next__()list = [1, 2, 3, 4]a_iter = iter(list)b_iter = list._.. 2024. 7. 8. [Python] 두 정수 사이의 합 https://school.programmers.co.kr/learn/courses/30/lessons/12912?language=python3 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이전혀 파이썬 답지 않은 풀이같다.def solution(a, b): answer = 0 min = 0 max = 0 if a == b : return a elif a > b : max = a min = b else: max = b min = a for i .. 2024. 7. 8. [Python] 프로그래머스 아날로그 시계 https://school.programmers.co.kr/learn/courses/30/lessons/250135?language=python3 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이시작시간과, 끝 시간이 주어질때 초침이 분침/시침과 겹치는 횟수를 세는 문제입니다. 단, 초침이 분침/시침과 동시에 겹치는 경우 1번으로 카운트 합니다. 현재 시간과 끝시간을 초 단위로 변환하고 while 문을 돌며 겹치는 횟수를 카운팅 합니다. 이때, 00시와 12시는 초침이 분침/시침과 겹치지만 다시 오지 않는 시간이므로 미리 카운팅 해줍니다. 시침과 분침이 36.. 2024. 6. 23. 이전 1 2 3 다음