Python 13

코딩테스트 입문 - 배열, 구현, 수학 (예제로 배우는 파이썬 12)

프로그래머스 스쿨의 예제 문항들을 이용하였습니다. 순서쌍의 개수 문제 풀이 개념 및 풀이참고 순서쌍의 개념은 두 수를 곱해서 원래의 수가 나오는 약수와 동일함 따라서 어떠한 수로 나눴을 때 나누어 떨어진다(=나머지가 0이다) list를 새로 만들어서 약수를 추가함으로써 리스트의 숫자를 통해 순서쌍의 수를 구할 수 있음

코딩테스트 입문 - 배열, 구현, 수학 (예제로 배우는 파이썬 11)

프로그래머스 스쿨의 예제 문항들을 이용하였습니다. 진료순서 정하기 문제 풀이 개념 및 풀이참고 예시를 정해서 보면 쉬움 ex) emergnecy =[3,100,24] 2행 answer=[] 3행 new=[] 4행 new=[100,24,3] 5행 1 반복 emergency의 3을 x에 넣음 -> answer 리스트에 new 리스트에서 3이 위치한 index의 +1 값을 넣어줌 -> 3 2 반복 emergency의 100을 x에 넣음 -> 1 3반복 emergency의 24를 x에 넣음 -> 2 7행 answer=[3,1,2] Sort 정렬은 기본적으로 오름차순으로 진행됨 (작은 수 -> 큰 수) 내림차순 (큰수 ->작은 수)를 원할 시 reverse 사용 리스트.sort : 본체의 리스트를 정렬해서 변환 ..

코딩테스트 입문 - 배열, 구현, 수학 (예제로 배우는 파이썬 10)

프로그래머스 스쿨의 예제 문항들을 이용하였습니다. 배열 자르기 문제 풀이 개념 및 풀이참고 리스트 슬라이싱 정수배열의 슬라이싱 [:::] range에서는 (,,,)로 사용 range(start, stop, step) start부터 stop전까지 step만큼 증가하는 숫자를 반환 반환되는 숫자들은 리스트가 아니라 range의 객체로 반환됨 numbers[::] 는 start부터 stop전까지 step만큼은 range와 같지만 인덱스를 슬라이싱 한 부분의 리스트를 반환함 즉, range는 숫자 범위를 생성하는 함구 []는 리스트 슬라이싱으로 리스트내의 특정 부분을 잘라내는 방법 외계행성의 나이 문제 풀이 개념 및 풀이참고 age 자체를 x에 넣고 싶음-> 그러나 for문은 단순 숫자가 아니라 배열과 같은 범..

코딩테스트 입문 - 문자열, 조건문, 수학, 반복문 (예제로 배우는 파이썬 9)

프로그래머스 스쿨의 예제 문항들을 이용하였습니다. 양꼬치 문제 풀이 개념 및 풀이참고 10인분 -> 1개 음료 서비스 13인분 -> 1개 음료 서비스 20인분 -> 2개 음료 서비스 즉 먹은 양 /10의 몫만큼의 음료를 서비스로 받는 것 짝수의 합 문제 풀이 개념 및 풀이참고 n까지의 수들을 모두 확인해야 하므로 for구문으로 반복진행 range 범위는 0부터 n+1까지 그 부분에서 짝수라면 더하고 그 값에 누적으로 더하길 원함 따라서 k=0인 변수를 설정하고 그 변수에 더한 값을 붙여줌 k=k+x는 k+=5와 같은 의미로 사용 된다. 즉, 변수를 더하고 새것으로 대체하는 데 사용하기 적합하다.

코딩테스트 입문 - 문자열, 조건문, 수학, 반복문 (예제로 배우는 파이썬 8)

프로그래머스 스쿨의 예제 문항들을 이용하였습니다. 특정문자 제거하기 문제 풀이 개념 및 풀이참고 letter에 해당하는 애만 빼고 만들겠다 = letter가 아닌 애들을 그냥 유지하겠다 문자열을 답변하기 위한 answer='' 생성 for 구문으로 하나씩 훑어서 letter에 해당하지 않는 것만 모음 += 사용해서 모은 것을 누적하여 answer로 저장 +) 간단히 replace를 사용하여서도 풀 수 있다. 굳이 문자열을 만들지 않고 바로 return my_string.replace(letter,'') 을 적용해도 된다. 각도기 문제 풀이 개념 및 풀이참고 여러가지 조건이 존재할 경우 if-elif 구문을 사용

코딩테스트 입문 - 문자열, 반복문, 출력, 배열, 조건문 (예제로 배우는 파이썬 7)

짝수 홀수 개수 문제 풀이 개념 및 풀이참고 모든 정수는 짝수 아니면 홀수로 카운팅 할 수 있다 -> if-else 구문 적합 수를 찾았을 때 하나씩 카운트하면서 끝까지 반복하고 싶다 -> for 구문 적합 count 했을 때 하나씩 숫자를 올리고 싶고 그 수를 return 해야 한다. -> 각각의 카운팅 해줄 변수가 필요 (a, b 변수 해당) 문자 반복 출력하기 문제 풀이 개념 및 풀이참고 answer=' ' 는 그저 숫자 리스트의 빈값(a=[])을 정해주듯 빈 문자열이라고 보면 됨. += 연산자 : 현재 변수의 값을 다른 값과 더하고 그 결과를 현재 변수에 할당해 주는 연산자이다. ex) a= 'Have a' a+= 'Nice day' a= 'Have a Nice day' 추가) append()는 ..

코딩테스트 입문 - 문자열, 반복문, 출력, 배열, 조건문 (예제로 배우는 파이썬 6)

프로그래머스 스쿨의 예제 문항들을 이용하였습니다. 문자열 뒤집기 문제 풀이 개념 및 풀이참고 문자열에는 reverse라는 함수가 존재하지 않음. 문자열을 추출할 때 a[0]으로 원하는 부분을 추출하고 a[0]+a[1]+a[2]...을 반복하여 붙여서 쓸 수도 있지만, 슬라이싱 기법으로 a[0:4] -> 0번부터 3번 index까지 추출할 수 있으며 start:stop:step순으로 규칙도 추가 가능하다. (이때, 처음과 끝 index는 생략이 가능하다. 만약, 지정을 원한다면 start, stop+1은 동일하게 적용된다.) ex) array=[4,2,6,1,8,12,10,3] arrary[0:3:1] -> 0번부터 2번 index까지 +1 건너서 -> [4,2,6] array[-4:1:-2] -> -4번..

코딩테스트 입문 - 수학, 배열 (예제로 배우는 파이썬 5)

프로그래머스 스쿨의 예제 문항들을 이용하였습니다. 옷가게 할인받기 문제 풀이 개념 및 풀이참고 조건문은 if를 사용하여 참일 때만 작동시킬 수 있음 다른 조건의 추가는 elif 사용하고 모두 아닐 경우는 else로 지정 가격대 별로 할인받는 정도 고려한 값을 지정해 줌. ex) 5% 할인 -> 정가의 95%만 지불하면 됨 아이스 아메리카노 문제 풀이 개념 및 풀이참고 배열의 return : [] 나이 출력 문제 풀이 개념 및 풀이참고 출생연도 = 현재연도 - 나이 +1 배열 뒤집기 문제 풀이 개념 및 풀이참고 len : 배열의 원소 개수를 변환 range(a,b) : a부터 b-1까지 실시함 새로운 리스트를 만들어서 거꾸로 뒤집은 순서로 넣어주면 됨. ex) num_list index 0 1 2 3 el..

코딩테스트 입문 - 수학, 배열 (예제로 배우는 파이썬 4)

프로그래머스 스쿨의 예제 문항들을 이용하였습니다. 피자 나눠먹기 (1) 문제 풀이 개념 및 풀이참고 나누기 연산자 : / 몫의 연산자 : // 나머지 연산자 :% 7조각으로 나눴을때 딱 떨어진다면 그 판수로 충분하지만, 그렇지 않다면 더 필요하게 됨 피자 나눠먹기 (2) 문제 풀이 개념 및 풀이참고 1. 6조각의 피자를 n명이 남김 없이 먹어야 함은 6과 n의 최소공배수를 구함과 같다. 2. 최소공배수는 조각을 의미함으로 구한 값을 6으로 나눠 판 수를 구한다. 최소공배수는 나눠서 딱 떨어지는 (=나머지가 0인) 값들 중에 제일 작은 값이다. 또한, 두 수 중에 큰 수보다 작을 수는 없고 둘을 곱한값보단 클 수 없다. (숫자를 예시로 들어 풀어보면 이해가 쉽습니다) 피자 나눠먹기 (3) 문제 풀이 개념 ..