파이썬

알고리즘

[파이썬]프로그래머스 Lv.1 다트게임

2018 카카오 블라인드 채용 def solution(dartResult): scores = [] dartResult = dartResult.replace('10', 'k') for x in dartResult: if x.isdecimal(): scores.append(int(x)) elif x.isalpha(): if x == 'D': scores[-1] **= 2 elif x == 'T': scores[-1] **= 3 elif x == 'k': scores.append(10) else: if x == '*': scores[-2:] = [x*2 for x in scores[-2:]] elif x == '#': scores[-1] *= -1 return sum(scores) 주어진 조건을 잘 이해하면 ..

파이썬・ML

파이썬 itertools 모듈로 순열/조합/중복순열/중복조합 구하기

자바스크립트를 사용하면 순열과 조합을 구하는 코드를 직접 작성해야 하는데요, 파이썬을 사용하면 모듈을 통해 쉽게 구할 수 있어서 상당히 편리합니다. 이번에는 파이썬에서 순열과 조합을 쉽게 구할 수 있도록 도와주는 itertools 모듈에 대해 알아보겠습니다. 순열 permutations(iterable, r) from itertools import permutations a = [1, 2, 3, 4] permus = list(permutations(a, 2)) permus # [(1, 2), (1, 3), (1, 4), # (2, 1), (2, 3), (2, 4), # (3, 1), (3, 2), (3, 4), # (4, 1), (4, 2), (4, 3)] itertools 모듈의 permutations..

알고리즘

[파이썬]프로그래머스 Lv.1 소수만들기

✅ 코드 from itertools import combinations import math def is_prime(x): for i in range(2, int(math.sqrt(x)) + 1): if x % i == 0: return False return True def solution(nums): answer = 0 combis = list(combinations(nums, 3)) for combi in combis: if is_prime(sum(combi)): answer += 1 return answer 주어진 배열에서 3개의 수를 조합해 더하면 소수가 되는 케이스의 수를 구해야 합니다. 다행스럽게도(?) 파이썬의 itertools 모듈을 사용하면 수들의 조합을 구할 수 있습니다. 소수 여부를..

파이썬・ML

파이썬 숫자 판별하는 문자열 함수(isdecimal, isdigit, isnumeric)

문자열 함수 중에 해당 문자열이 숫자로 구성됐는지 여부를 판별해주는 함수들이 있습니다. isdecimal, isdigit, isnumeric 함수들인데요, 각각의 함수에 대해 알아보겠습니다. isdecimal() numbers = ['123', '0.5', '-7', '½', '3²', '77%'] for i in numbers: print(i, i.isdecimal()) # 123 True # 0.5 False # -7 False # ½ False # 3² False # 77% False 문자열을 구성하는 각 원소가 0과 9 사이의 정수(int)로 변환 가능한지 여부만을 판별합니다. 숫자로 보이더라도 정수화가 불가능하면 False를 리턴합니다. isdigit() numbers = ['123', '0.5..

알고리즘

[파이썬]프로그래머스 Lv.1 같은숫자는싫어

✅ 코드 def solution(arr): answer = [] for num in arr: if answer[-1:] == [num]: continue answer.append(num) return answer 빈 배열을 슬라이싱해도 IndexError가 발생하지 않습니다. 반대로 특정 위치의 값을 인덱싱 하면 IndexError가 발생합니다.

파이썬・ML

파이썬 datetime 모듈 사용해서 요일 알아내기

알고리즘 문제를 풀면서 년, 월, 일 정보를 바탕으로 해당 날짜의 요일을 구해야 했습니다. 다행히도 datetime 모듈의 date 클래스를 사용해서 문제를 해결할 수 있었습니다. 파이썬의 datetime 모듈을 사용하면 날짜와 시간 관련 데이터를 의도대로 조작할 수 있습니다. 대략적인 모듈 사용법을 숙지하고 있으면 도움이 될 것 같아 문제를 해결한 과정을 정리해보겠습니다. import datetime as dt 우선 datetime 모듈을 불러옵니다. dt.date(year, month, day) date 클래스를 사용해서 인스턴스를 생성하려면 3가지 인자값(year, month, day)을 전달해야 합니다. dt.datetime.now() # datetime.datetime(2023, 6, 1, 13..

파이썬・ML

파이썬 enumerate 내장함수 사용하기

내 마음대로 파이썬 - map 내장함수 사용하기 내 마음대로 파이썬 - zip 내장함수 사용하기 이번 정리에서는 파이썬의 내장함수인 zip 함수에 대해 알아보겠습니다. zip(*iterables, strict=False) for item in zip(['mason', 'harriet', 'john'], [1, 2, 3]): print(item) p parix-data.tistory.com 알고리즘 문제를 풀면서 자주 사용하는 파이썬 내장함수에 대해 살펴보고 있습니다. 이전에 map 함수에 대해 정리한 바가 있는데요, 이번 정리에서는 파이썬의 내장함수인 enumerate 함수에 대해 알아보겠습니다. enumerate(iterable, start) enumerate 함수는 첫 번째 인자로 iterable 객..

알고리즘

[파이썬]프로그래머스 Lv.1 달리기경주

✅ 코드 def solution(players, callings): players_dict = {player: idx for idx, player in enumerate(players)} for name in callings: idx = players_dict[name] front = players[idx - 1] players[idx - 1], players[idx] = players[idx], players[idx - 1] players_dict[name], players_dict[front] = idx - 1, idx return players 입력값의 제한은 다음과 같습니다. 5

truezero
'파이썬' 태그의 글 목록 (2 Page)