프로그래머스 입문문제 100개 중(정답률 높은 문제 순으로) 40개를 풀면서 헷갈렸던, 몰랐던 문법들을 정리했다. 2탄!!
확실히 기초 문법을 좀 정리해가면서 보았더니 응용해서 풀 수 있는 문제들이 있었다. 특히 리스트 컴프리핸션 문법이 참 유용하게 쓰인다.
참고로 나는 이코테 책을 아래처럼 공부하면서 동시에 프로그래머스 입문 문제로 기초를 다지고 있다.
(기초부터 다지고 넘어가자니 시간이 오래 걸릴 것 같아 코테 유형을 동시에 익히는 중...)
암튼, 문법정리는 1탄부터 보던지 2탄부터 보던지 순서는 상관없다. (아래는 1탄 링크)
--------------------------------
1. 문자 반복 출력
my_strig = "hello"
n = 3
결과값 = "hhheeellllllooo"
- for 문 돌리면서 +=로 쌓기
answer = ''
for c in list(my_string):
answer += c*n
- join 메서드 사용 + list comprehention
"".join([x * n for x in my_string])
2. array.sort()와 sorted(array) 차이
- sort: 원래 list 자체를 오름차순 정렬
- sorted: 새로운 list를 만들어냄 (원래의 list에는 영향 x)
list = [5, 7, 2, 3, 1]
print(sorted(list)) // [1, 2, 3, 4, 5] # list = [5, 7, 2, 3, 1]
print(list.sort()) // None # list = [1, 2, 3, 4, 5]
++ 왜 sorted( )를 쓰나 했더니.. 계속 입문 문제를 풀다보니 코드 한 줄이 줄어든다.
( sort()를 쓰면 다시 그 배열을 코드에 작성해야함)
3. 제곱근 (루트)구하기, 제곱수 판별하기
import math
def solution(n):
return 1 if math.sqrt(n).is_integer() else 2
--------------
# 제곱근 구하는 방법 #2
m = int(n ** 0.5)
4. set 함수 - 교집합, 합집합, 차집합 구하기 쉬운 함수
- 교집합: 두 배열을 비교해서 동일하게 가지고 있는 원소들만 구하기 ( & , intersection() )
- 합집합: 중복제외, 두 배열 합치기 ( | , union() )
- 차집합: s1에서 s2 원소 빼기 ( - , difference() )
def solution(s1, s2):
print(len(set(s1).intersection(set(s2)))) # 교집합 방법 1
print(len(set(s1)&set(s2))) # 교집합 방법 2
- 위 예시에서 기호만 바꿔주면 된다.
5. 약수 구하기
- count 대신 len()함수로 대처 가능!
# 1
def solution(n):
count = 0
for i in range(1, n+1):
if n % i == 0:
count += 1
return count
#2
return len([number for number in range(1, n+1) if n%number == 0])
6. int는 list()로 못 만든다.
ex)
n = 1234
list(n) // TypeError: 'int' object is not iterable
n = "1234"
list(n) // ['1', '2', '3', '4']
7. 정수 n -> 문자열 n -> 다시 정수 n -> sum() 사용해 총합 구하기
#1
def solution(n):
return sum(map(int,str(n)))
#2
answer = [int(i) for i in str(n)]
sum(answer)
8. 알파벳/숫자인지 확인
- isalpha(): 알파벳
- isdigit(): 숫자
- isalnum():알파벳 or 숫자
a = 'abcd'
b = '1234'
c = '1q2w3e4r'
print(a.isalpha()) #True
print(b.isdigit()) #True
print(c.isalnum()) #True
'Study > 코테' 카테고리의 다른 글
4탄 [프로그래머스 입문 문제] 코테에 필요한 파이썬 기초 문법 정리 (1) | 2024.01.25 |
---|---|
3탄 [프로그래머스 입문 문제] 코테에 필요한 파이썬 기초 문법 정리 (0) | 2024.01.20 |
[프로그래머스 입문 문제] 필요한 파이썬 기초 문법 정리 1 (2) | 2024.01.12 |
2024 SW마에스트로 지원정보 | 15기 연수생 모집 (0) | 2024.01.12 |