프로그래머스 | 약수의 갯수와 덧셈 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(left, right): answer = 0 for i in range(left, right+1): c, j = 0, 1 # c = 약수의 개수, j = 약수 # 약수의 개수를 구하는 과정 while j
python | and, or 연산자를 return문에서 사용하기
·
TIL/python
파이썬의 return문에 and, or 연산자를 사용할 수 있다. 먼저, and, or 연산자에 대해 정리해보자. 1) and 연산자 조건 A, B 모두 참이면 참(True)을 반환한다. 조건 A, B 중 하나라도 거짓이면 거짓(False)을 반환한다. True and True = True True and False = False False and True = False False and False = False 2) or 연산자 조건 A, B 중 하나라도 참이면 참(True)을 반환한다. 조건 A, B 모두 거짓이면 거짓(False)을 반환한다. True or True = True True or False = True False or True = True False or False = False Tru..
python | 10진법을 2진법, 8진법, 16진법으로, n진법을 10진법으로 바꾸기
·
TIL/python
10진법 수를 2진법, 8진법, 16진법으로 나타내는 방법과 n진법 수를 10진법 수로 바꾸는 방법을 정리해보려 한다. 먼저, 2진법, 8진법, 16진법에 대해 간단하게 살펴보면 다음과 같다. 2진법은 0과 1로만 수를 나타내는 방법이다. 2진법으로 나타낸 수에서 각 자리는 뒤에서부터 $2^0$, $2^1$, $2^2$, $2^3$... 의 개수로 생각하면 쉽게 이해할 수 있다. 0 = 0 = $(0 \times 2^0)$ 1 = 1 = $(1 \times 2^0)$ 2 = 10 = $(1 \times 2^1 + 0 \times 2^0)$ 3 = 11 = $(1 \times 2^1 + 1 \times 2^0)$ 4 = 100 = $(1 \times 2^2 + 0 \times 2^1 + 0 \times 2..
프로그래머스 | 연속된 수의 합 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(num, total): avg = total // num return [i for i in range(avg - (num-1)//2, avg + (num+2)//2)] 이 문제 또한 주어진 테스트 케이스들을 통해 규칙을 찾아야 하는 문제이다. 연속된 num개의 수의 합이 total이 되도록 해야 한다. 문제에서 주어지는 테스트 케이스들을 살펴보면 중앙에 위치한 값이 total // num임을 알 수 있다. 첫 번째 케이스인 [3, 4, 5]에서 4가 12//3을 한 값이고, num..
프로그래머스 | 종이 자르기 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(M, N): answer = (M * N) - 1 return answer 간단한 문제처럼 보이지만 규칙을 찾아야 한다. 직접 그림을 그려 규칙을 찾아보았다. 가로를 M, 세로를 N이라 할 때, 가로 M을 먼저 자른다고 해보자. 그럼 가로는 M-1번 자르면 모든 가로 길이가 1이 된다. 그 결과, 가로가 1, 세로가 N인 직사각형이 M개 생긴다. 그럼 이제 이 직사각형들의 세로 길이를 1로 만들어줄 차례이다. 세로를 N-1번 자르면 모든 세로 길이가 1이 된다. N-1번 자를 직사..
python | TypeError: 'str' object does not support item assignment
·
TIL/오류해결
TypeError: 'str' object does not support item assignment string은 아이템 수정이 불가능하다는 뜻이다. 문자열은 인덱스로 접근도 가능하고 리스트와 같이 슬라이싱도 가능하다. 그럼 text의 1번 요소인 e를 a로 바꿔 'hallo'라는 결과를 얻을 수 있을까? 불가능하다. 도대체 assignment의 뜻이 뭐길래 이런 에러가 발생하는 것일까. 궁금해서 직접 검색해 보았다. 에러 메시지에서 assignment는 2번 '배정, 배치'를 의미하는 것으로 보인다. 즉, TypeError: 'str' object does not support item assignment = 문자열에서는 아이템 배치를 지원하지 않는다. 문자열 수정을 위해 리스트처럼 인덱스로 접근은 ..