본문 바로가기

자료구조48

[알고리즘] 프로그래머스 | 문자열 다루기, 없는 숫자 더하기, x만큼 간격이 있는 n개의 숫자 문자열 다루기 https://school.programmers.co.kr/learn/courses/30/lessons/12918 답: 더보기 def solution(s): if (len(s) == 4 or len(s) == 6) and s.isdecimal(): return True return False ** isdecimal()을 써봤지만 isdigit도 잘 작동한다 문제 분석 및 해석 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수 작성하기 사용한 함수와 관련 함수 is_alpha() 알파벳으로만 구성되어있는지 판별 isdecimal() 문자열이 int로 변환 가능한지 판별 isdigit() 문자열이 숫자의 형태인지 isnumeric() 문자열이 숫자값을 표현하는 형태인지 판별 .. 2023. 8. 4.
[알고리즘] 프로그래머스 | 두 정수 사이의 합, 핸드폰 번호 가리기 두 정수 사이의 합 https://school.programmers.co.kr/learn/courses/30/lessons/12912 답: 더보기 def solution(a, b): answer = 0 if b > a: for num in range(a, b+1): answer += num else: for num in range(b, a+1): answer += num return answer 너무 펼쳐진 식이라 고민하다가 약간의 변경 def solution(a, b): answer = 0 if a == b: return a if a > b: a, b = b, a for num in range(a, b+1): answer += num return answer 문제 분석 및 해석 두 정수 a, b a b.. 2023. 8. 3.
[알고리즘] 프로그래머스 | 평행 답: 더보기 def solution(dots): # 점 12 34 if (dots[0][1] - dots[1][1])/(dots[0][0] - dots[1][0]) == (dots[2][1] - dots[3][1])/(dots[2][0] - dots[3][0]): return 1 # 점 13 24 if (dots[0][1] - dots[2][1])/(dots[0][0] - dots[2][0]) == (dots[1][1] - dots[3][1])/(dots[1][0] - dots[3][0]): return 1 # 점 14 23 if (dots[0][1] - dots[3][1])/(dots[0][0] - dots[3][0]) == (dots[1][1] - dots[2][1])/(dots[1][0] - dot.. 2023. 8. 2.
[algorithm] 페어 - 프로그래머스: 폰켓몬, 전화번호 목록 [해시] 문제 새로운 유형을 공부하기 위해 해시 문제를 가져왔다. 해시 hash - 다양한 길이를 가진 데이터를 고정된 길이를 가진 데이터로 매핑(mapping)한 값 - key : value 값을 가진다 키 = key 고유값 = value - 같은 종류의 자료를 묶어서 파악하는데 사용 - 모든 데이터 값을 고유의 값인지 확인 가능 해시 알고리즘 긴 길이의 데이터를 짧은 길이의 데이터로 변환하는 알고리즘 따라서 제3자는 짧은 길이의 데이터로부터 원래의 데이터를 복구할 수 없어야 하며, 동일한 출력을 갖는 서로 다른 데이터를 찾을 수 없어야 한다 [해시 참고] https://ejyoo.tistory.com/72 https://ko.wikipedia.org/wiki/%ED%95%B4%EC%8B%9C_%ED%.. 2023. 6. 2.