본문 바로가기

프로그래밍/알고리즘124

프로그래머스 - 문자열의 뒤의 n글자 문제 요새 눈 수술 받아서 넘 블로그를 못올렸네 풀이1 function solution(my_string, n) { return my_string.slice(-n) } 풀이2 function solution(my_string, n) { return my_string.substring(my_string.length - n); } 풀이3 def solution(my_string, n): return my_string[-n:] 2024. 1. 31.
python - extend 정의 extend 메소드는 리스트에 다른 리스트의 모든 요소를 추가함 예를 들어, list1.extend(list2)는 list1의 끝에 list2의 모든 요소를 추가함 양식 list1.extend(iterable) list1: 요소가 추가될 리스트 iterable: 리스트에 추가될 요소를 가진 iterable 객체(예: 리스트, 튜플, 문자열 등) extend 메소드는 iterable에 있는 모든 요소를 가져와서 list1의 끝에 추가 이 메소드는 원래의 리스트(list1)를 직접 수정하며, 새로운 리스트를 생성하지 않음 예시 코드1 list1 = [1, 2, 3] list2 = [4, 5, 6] # list1에 list2의 모든 요소를 추가 list1.extend(list2) print(list1) .. 2023. 12. 27.
프로그래머스 스쿨 - 문자열을 정수로 변환하기 문제 숫자로만 이루어진 문자열 n_str이 주어질 때, n_str을 정수로 변환하여 return하도록 solution 함수를 완성해주세요. 나의 풀이 def solution(n_str): return int(n_str) 다른 사람 풀이 solution = int 엥? 이게 뭐임?? [코드 해석] - 이 코드는 Python에서 변수를 선언하고 초기값으로 int 타입을 지정하는 것 - solution이라는 변수를 선언하고 그 변수의 타입을 정수형(int)으로 지정한 것 - int는 정수를 나타내는 데이터 타입 - 변수 solution은 이 타입의 값을 가지게 됨 - solution 변수는 아무런 값도 가지고 있지 않은 상태, 만약 실제로 값을 할당하지 않고 사용하려고 하면 에러가 발생할 수 있음 실제 할당하.. 2023. 12. 5.
깃허브 커밋 1주년 기념 다시 생각해보는 2023 목표 전체 2023 10월 15일(일요일)이 커밋 제대로 시작한 지 1주년인 날이었다! 친구들과 제주도 여행 중이라 맞춰서 블로그 글을 작성하지는 못했지만 친구들에게 자랑했다 ㅎㅎ(맛있는 것도 먹음) 현재는 취업을 했기 때문에 엄청 많은 커밋을 하지는 못하고 있지만 하루에 1개씩 알고리즘 간단한 문제를 하고 있고 2023년도 목표를 정리하자면, - 저번주에 시작한 자바스크립트 스터디 잘 끝내기(코어 자바스크립트 책 읽고 실습, 매주 일요일) - GA4스터디 잘 끝내기(매주 목요일) - 매일 알고리즘 간단한거 1개 이상 풀기 앞으로도 파이팅!! 2023. 10. 17.
프로그래머스 - k의 개수 1. 문제 (클릭하면 문제로 이동) 2. 풀이 중요한 포인트는 입출력 예의 첫 번째를 보면 '11'에는 k인 1이 2번 들어가는데 이거를 각각 count 할 수 있게(== 2번으로 인식하도록) 코드를 짜는 것이다 3. 해결 코드 코드 1 def solution(i, j, k): answer = 0 for num in range(i, j + 1): if str(k) in str(num): answer += str(num).count(str(k)) return answer 코드 2 def solution(i, j, k): cnt = 0 for n in range(i, j+1): cnt += str(n).count(str(k)) return cnt 코드 3 def solution(i, j, k): return.. 2023. 10. 4.
프로그래머스 - 카펫 파이썬 0. 문제링크 1. 접근 음... 하나하나 해보면서 다이나믹프로그래밍으로 규칙을 찾던가 아니면 완전탐색일듯 시간복잡도를 보니까 제한사항 갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다. 노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다. 완탐으로 풀어도 되겠다 2. 어떤 알고리즘? 완탐으로 풀다가 규칙성보이면 DP로 가자 3. 해결 코드 def solution(brown, yellow): # 가로(w)와 세로(h)의 초기값 설정 w = (brown / 2) + 1 # 가로는 갈색 타일 개수를 2로 나누고 1을 더한 값 h = 1 # 세로는 1로 초기화 # 가로(w)가 세로(h) 이상일 때까지 반복 while w >= h: # 현재 가로와 세로의 내부 영역을.. 2023. 9. 4.
프로그래머스 - 최소직사각형 파이썬 1. 문제 2. 코드 첫번째 방법 def solution(sizes): return max(max(x) for x in sizes) * max(min(x) for x in sizes) 두번째 방법 solution = lambda sizes: max(sum(sizes, [])) * max(min(size) for size in sizes) 세번째 방법 def solution(sizes): row = 0 col = 0 for a, b in sizes: if a < b: a, b = b, a row = max(row, a) col = max(col, b) return row * col 네번째 방법 def solution(sizes): w = [] h = [] for i in range(len(sizes)): .. 2023. 8. 2.
프로그래머스 - 징검다리 파이썬 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 누가 봐도 이분탐색 문제이다 코드 def solution(distance, rocks, n): # 만약 주어진 rocks 배열의 길이가 n과 같다면, 모든 돌을 제거해야하므로 distance를 반환 if len(rocks) == n: return distance # rocks 배열을 오름차순으로 정렬, 마지막에 distance를 추가하여 시작과 끝값을 설정 rocks.sort() rocks.append(distance) answer = 0 start, end = 0, distance while st.. 2023. 7. 25.
프로그래머스 - 저주의 숫자 3 파이썬 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(n): answer = 0 for _ in range(n): answer += 1 while '3' in str(answer) or answer % 3 == 0: answer += 1 return answer 2023. 7. 17.