본문 바로가기

Algorithm245

[프로그래머스] Lv1 - 문자열을 정수로 바꾸기 (파이썬) https://programmers.co.kr/learn/courses/30/lessons/12925 코딩테스트 연습 - 문자열을 정수로 바꾸기 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니 programmers.co.kr def solution(s): return int(s) 풀이 1. 해당 문자열을 바로 int화 해서 return 문자열 내부의 '+'나 '-'가 있어도 int화시, 각 양수와 음수로 바꿔준다. 2022. 3. 23.
[백준] 8983번 - 사냥꾼 (파이썬) # 사냥꾼 import sys input = sys.stdin.readline M, N, L = map(int, input().split()) shots_place = list(map(int, input().split())) animals_place = [] for i in range(N): a, b = map(int, input().split()) animals_place.append((a, b)) answer = 0 shots_place.sort() for a, b in animals_place: start, end = 0, len(shots_place)-1 mid = 0 while start < end: mid = (start+end)//2 if shots_place[mid] < a: start =.. 2022. 3. 23.
[프로그래머스] Lv1 - 수박수박수박수박수박수? (파이썬) https://programmers.co.kr/learn/courses/30/lessons/12922 코딩테스트 연습 - 수박수박수박수박수박수? 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 programmers.co.kr def solution(n): return '수박'*(n//2) + '수'*(n%2) 풀이 1. n//2 만큼 '수박'을 이어준다. 2. n%2 만큼 '수'를 이어준다. n이 짝수이면 '수박', '수박수박', '수박수박수박', ... n이 홀수이면 '수', '수박수', '수박수박수', ... n%2는 0 이거나 1 즉, 홀수.. 2022. 3. 22.
[프로그래머스] Lv1 - 소수 찾기 (파이썬) https://programmers.co.kr/learn/courses/30/lessons/12921 코딩테스트 연습 - 소수 찾기 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 programmers.co.kr from math import sqrt def solution(n): arr = [1] * (n+1) for i in range(2, int(sqrt(n))+1): if arr[i]: j = 2 while i*j 2022. 3. 22.
[프로그래머스] Lv1 - 서울에서 김서방 찾기 (파이썬) https://programmers.co.kr/learn/courses/30/lessons/12919 코딩테스트 연습 - 서울에서 김서방 찾기 String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니 programmers.co.kr def solution(seoul): return "김서방은 {}에 있다".format(seoul.index('Kim')) 풀이 1. 리스트 메서드 index를 이용해서 seoul에서 'Kim'의 인덱스를 구한다 2. format을 이용해서 문자열 반환 format : 문자열 내부에 값을.. 2022. 3. 22.
[프로그래머스] Lv1 - 문자열 다루기 기본 (파이썬) https://programmers.co.kr/learn/courses/30/lessons/12918 코딩테스트 연습 - 문자열 다루기 기본 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 programmers.co.kr def solution(s): return s.isdigit() and len(s) in (4, 6) 풀이 1. 문자열이 숫자이고 길이가 4와 6중에 있는지 확인 2. True, False로 return isdigit() : 문자열이 숫자로만 이루어져 있는지 isalpha() : 문자열이 영어로만 이루어져 .. 2022. 3. 22.
[백준] 1941번 - 소문난 칠공주 (파이썬) # 소문난 칠공주 from collections import defaultdict import sys input = sys.stdin.readline arr = [] for _ in range(5): arr.append(list(input().strip())) visited = defaultdict(bool) dx = [0, 1, 0, -1] dy = [1, 0, -1, 0] def back_tracking(people): global result # (해당 people의 숫자를 arr좌표상의 문자열로 바꿔서 문자열로 join)의 'Y'의 개수 if (''.join([arr[i//5][i % 5] for i in people]).count('Y')) > 3: return # 7명이라면 if len(peo.. 2022. 3. 22.