본문 바로가기

연산자3

[알고리즘] 프로그래머스 | 콜라츠 추측, 부족한 금액 계산하기, 최대공약수와 최소공배수 콜라츠 추측 답: 더보기 def solution(num): answer = 0 if num == 1: return answer while num != 1: if num % 2 == 0: num = num // 2 answer += 1 else: num = num * 3 + 1 answer += 1 if answer >= 500: return -1 return answer 문제 분석 및 해석 콜라츠추측 : 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. >> 풀이 생각 계속해서 조건을 반복해야하므로.. 2023. 8. 8.
[알고리즘, 정보] int를 각 자리수로 나누어 list 만들기 알고리즘을 풀다보면 자연수 integer를 각 자리 수로 나누어 사용해야하는 경우가 있다 이 경우 보통 array형식으로 만들어 활용하는데, 자연수를 list로 만드는 3가지 방법이 있다. 아래 글에서 number = 123 으로 전제한다 1. 문자열로 바꾸어 append a = [] for i in str(number): a.append(i) # a = ['1', '2', '3'] 문자열 number를 문자열로 만들어 for문으로 각 자리수를 분리한 다음 list에 append하는 형식을 취한다. 이때 결과는 가장 큰 수가 앞, 1의 자리수가 뒤에 들어간 문자열 배열을 출력한다 2. while과 % // 연산자 a = [] while(number!=0): # 123 12 1 a.append(number.. 2023. 8. 5.
[TIL] 파이썬 : 연산자와 연산자 우선순위 Assign, 할당연산자 = 왼쪽 변수에 오른쪽의 값을 저장한다 (='할당'한다) 복합할당연산자 += 'a=2일때, a + 1 = 3' 을 줄여서 'a += 1' 로 표현할 수 있다. 아래도 마찬가지 -= *= /= 산술 연산자 (= 수학) + - * 애스터리스크 / ** 제곱 // 몫 % 나머지를 구함 문자열 연산자 + 연결하는 연산자 * int 문자열을 곱한 만큼 반복 연결해준다 비교 연산자 == 왼쪽 값과 오른쪽 값이 같다 (이번주 동안 나를 고통받게했던 연산자. 문자열 == 리스트, 숫자 == 문자열 인 경우 결과값이 무조건 False가 난다) != 양 옆 값이 다르다 = 같거나 큰지, 작은지 구분 크다, 작다 비교 서로 같지 않다, !=와 비슷! 논리 연산자 왼쪽, 오른쪽에 값을 넣고.. 2023. 3. 27.