2024/07 82

[프로그래머스] #17 자연수 뒤집어 배열로 만들기 (reverse)

▶ 문제자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴하기.ex) n이 12345 라면 [5,4,3,2,1] 리턴 ▶ 제한조건n은 10,000,000,000 이하인 자연수 ▶ 풀이def solution(n): answer = [] # 빈리스트 선언 for i in str(n): # 문자 변환 후 반복 answer.append(int(i)) # 숫자 변환 후 추가 answer.reverse() # 뒤집어주기 return answer통과!!!reverse() 함수 : 배열 내용의 순서를 반전시킨다.list = ['a', 'b', 'c', 'd', 'e']list.reverse()pri..

codekata 2024.07.18

[프로그래머스] #16 x만큼 간격이 있는 n개의 숫자

▶ 문제함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 함. 다음 제한 조건을 보고, 조건을 만족하는 함수 solution을 완성하세요. ▶ 제한조건x는 -10,000,000 이상 10,000,000 이하인 정수n은 1000 이하인 자연수 ▶ 풀이모르겠으니까 코드 그려보기규칙이 생각보다 간단하네def solution(x, n): answer = [] # 빈리스트 선언 for i in range(1, n+1): # 1부터 n까지 반복 answer.append(i * x) # x를 곱해서 추가 return answer통과!

codekata 2024.07.18

[프로그래머스] #15 나머지가 1이 되는 수 찾기 (MB, ms 성능확인)

▶ 문제자연수 n이 매개변수로 주어진다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하는 solution 함수 만들기.  ▶ 제한사항 3 ≤ n ≤ 1,000,000 ▶ 풀이어떻게 짜야할지 전혀 모르겠다.... 일단 종이에 써서 대강 그려보기코드 그리기 끝!이제 이걸 보면서 그대로 코드를 짜보기def solution(n): if n % 2 == 1: # n이 홀수면 return 2 # 답은 항상 2 # n이 짝수면 for i in range(2, n): # 1제외, n-1까지 if (n-1) % i == 0: # (n-1)..

codekata 2024.07.18

[자료구조] Linked List 클래스 정의

스쿼드 숙제! 연결리스트 클래스를 정의하는 예제 코드 해석해보기연결리스트 덕질한다는 기분으로 한줄한줄 주석 작성했다.class Node: # Node 클래스를 만들어보겠습니다. def __init__(self, data): # 초기화. 클래스를 인스턴스화 해서 객체를 생성할 수 있음. data를 인자로 받아오기. self.data = data # 노드가 저장할 데이터 self.next = None # 다음 노드를 가리키는 참조, 초기값은 No..

[Python 미니세션] 최소값의 인덱스 구하기

▶  문제최소값의 인덱스를 구하는 함수 만들기!시간복잡도 빅오 생각해보기# [23, 20, 73, 98, 11, 4, 288]# [33, 423, 32, 435, 235, 7, 56] ▶ 제한사항nums의 길이 3 ≤ n ≤ 100,000배열의 nums 원소는 정수배열의 원소는 중복된 값이 없다 ▶ 풀이def minimum_value(nums): # 함수정의(숫자리스트 받기) min_index = 0 # 인덱스 받을 변수선언, 초기값 0 for i in range(1, len(nums)): # 1부터 ~ 길이까지 i에 하나씩 대입 if nums[min_index] > nums[i]: # nums..

python 2024.07.17

[프로그래머스] #14 약수의 합 (MB, ms 성능확인)

▶ 문제정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수 만들기  ▶ 제한사항n은 0 이상 3000 이하인 정수 ▶ 풀이정수 n을 1부터 자기 자신까지로 하나씩 돌아가면서 나눠준 다음, 그 중에서 나머지가 0일 경우에만 변수 answer 에다가 하나씩 더해주면 끝!def solution(n): answer = 0 for i in range(1,n): if n % i == 0: answer += i return answer # 틀림..틀림 근데 이번엔 오류코드가 뜨는 것도 아니고 정상 작동하는데 그냥 틀렸다.ㅠ킹받는 이모티콘 어 근데 결과를 읽어보니까 나의 (틀린)결과값에 뭔가 규칙이 있다.정답보다 n 만큼 작은 숫자가 나온다는 것! (28-..

codekata 2024.07.17

[프로그래머스] #13 자릿수 더하기 (iterable)

▶ 문제자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 함수 만들기.ex) N = 123 이면 1 + 2 + 3 = 6 을 return 한다.  ▶ 제한사항N의 범위 : 100,000,000 이하의 자연수 ▶ 풀이def solution(n): answer = 0 # 숫자변수, 초기값=0 for i in n: # n을 돌면서 answer += i # 하나씩 더하기 return answer # TypeError: 'int' object is not iterableㅠ 오답,...숫자형 'int' 객체는 반복할 수가 없다. iterable을 여기서 보네!!! 수업중에 들었던거다.각 자료형은 class로 지정되어 ..

codekata 2024.07.17

[프로그래머스] #12 평균 구하기

▶ 문제정수를 담고 있는 배열 arr의 평균값을 return하는 함수 solution 만들기 ▶ 제한사항arr은 길이 1 이상, 100 이하인 배열arr의 원소는 -10,000 이상 10,000 이하인 정수 ▶ 풀이def solution(arr): return sum(arr)/len(arr) sum(arr) : 배열 arr 내 요소들의 합을 구해주는 함수len(arr) : 배열 arr의 길이(요소들의 갯수)를 구해주는 함수 제한사항에 배열 arr의 길이가 1 이상이라는 말이 있어서 고려 안했는데,만약 배열 arr의 길이가 0일 경우에는 Zero division Error 가 생겨버린다.def solution(arr): if len(arr) == 0: # 분모가 0일경우 ..

codekata 2024.07.17

[프로그래머스] #11 짝수와 홀수 (if_bool)

▶ 문제정수 num이 짝수인 경우 "Even"을 반환하고, 홀수인 경우 "Odd"를 반환하는 함수 solution 만들기 ▶ 제한 조건num은 int 범위의 정수0은 짝수 ▶ 풀이def solution(num): if num % 2 == 0: return "Even" else: return "Odd"2로 나눈 나머지를 이용해서 풀기! 쉽다 여기서if문의 결과값이 '존재한다' 면 True 이므로 return 값이 반환되고,if문의 결과값이 '없다(0)' 면 False 이므로 if문이 실행되지 않는다. 그점을 이용하면굳이 == 0 을 사용하지 않고 다음과 같이 간략하게 표현할 수도 있다!def solution(num): if num % 2: # ==..

codekata 2024.07.17

[자료구조] 스택 Stack

스택 (Stack): 후입선출의 자료구조 중 하나이다.LIFO (Last In First Out) : 마지막에 들어온 데이터가 제일 먼저 나감FILO ( First In Last Out) : 첨에 들어온 데이터가 제일 늦게 나감둘 다 똑같은 말이고 스택의 특징이다.  스택은 프링글스다! 바닥이 막혀있고, 데이터를 하나씩 위로 쌓아가는 구조다.그래서 처음에 집어넣은 데이터는 가장 아래에 깔려있기 때문에, 데이터를 다시 꺼낼 때 맨 마지막에 나가게 된다.반대로 젤 마지막에 집어넣은 데이터는 가장 위에 올려져 있기 때문에, 다시 꺼낼 때 맨 먼저 나가게 된다.  처음에 스택에 데이터가 들어있지 않고 비어있는 상태이면isEmpty 는 True이고,스택의 길이는 0이다.  push() 함수를 통해 스택에 데이터를..