[Algorithm] Python 문법

19·2023년 8월 9일
0

Algorithm

목록 보기
28/28

입력

리스트 입력

input1 = list(map(int, input().split()))

print

print(f'{a} + {b} = {a+b}')

[출력]
4 + 5 = 9

연산자

//

answer = (num1//num2)

몫을 구함


형변환

https://school.programmers.co.kr/learn/courses/30/lessons/181939


반복문

변수 없이 반복문

for _ in range():

인덱스와 원소 동시접근 반복문

for cur_day, cur_temp in enumerates(temperatures):
  • cur_day -> 인덱스
    cur_temp -> 원소

문자열

파이썬은 문자열 다루기가 쉽다

문자열 슬라이싱
https://school.programmers.co.kr/learn/courses/30/lessons/181943

my_string[:s] + overwrite_string + my_string[s+len(overwrite_string):]

문자열 합치기
https://school.programmers.co.kr/learn/courses/30/lessons/181941

'+'연산자로 합칠 수 있고, 내장함수를 사용할 수도 있다

answer = ''.join(arr)

문자열 대체?하기

 return my_string.replace(letter, '')

알파벳인지 확인하기

for ch in my_string:
    if ch.isalpha():
        ...

숫자인지 확인하기

for ch in my_string:
    if ch.isdigit():
        ...

알파벳 또는 숫자인지 확인하기

for ch in my_string:
    if ch.isalnum():
        ...

특정 문자가 문자열에 포함되어 있는지 확인하기

for ch in my_string:
        if ch in answer:
            ...
  • in / not in 으로 포함되어 있는지 아닌지를 판별할 수 있다

인덱스 찾기

"string".find('s')

-------------------
"string".index('s')
  • find()는 찾는 문자가 없을 경우에 -1을 반환
  • index()는 찾는 문자가 없을 경우에 에러를 반환
  • 문자열은 find(), index()로 찾고자 하는 문자의 인덱스를 구할 수 있다
  • find()는 문자열에서만 사용가능

문자열에서 특정 문자 몇 개 있는지 세기

"abcde".count("a")

max

https://school.programmers.co.kr/learn/courses/30/lessons/181939

answer = max(int(str(a)+str(b)), int(str(b)+str(a)))

리스트

리스트 컴프리헨션

answer = []
for i in numbers:
    answer.append(i*2)
return answer

---

return [i*2 for i in numbers]
  • 동일

정렬

answer.sort()

--------------

new_answer = sorted(answer)
  • sort() -> 리스트의 함수
    • 원래 리스트(answer)에 영향을 준다
  • sorted() -> 내장함수
    • 원래 리스트(answer)에 영향을 주지 않고, 새로운 정렬된 리스트를 반환한다

인덱스 찾기

temp.index(min(temp))
  • 찾는 문자가 없으면 에러발생
  • 리스트뿐만 아니라, 문자열과 튜플 자료형에서 사용 가능

리스트에서 특정 요소 몇 개 있느지 세기

['a', 'b', 'c'].count('a')

딕셔너리

중복을 없애고 순서 유지하기

dict.fromkeys(my_string)
  • list로 묶으면 중복을 없애고 순서를 유지한 리스트가 된다
  • ''.join으로 묶으면 중복을 없애고 순서를 유지한 문자열이 된다

수학

import math

return math.comb(i, j)
  • i개에서 j개를 조합으로 선택할 때의 경우의 수를 출력



for문 if문 혼합, 한 줄로 쓰기

answer = sum(int(ch) for ch in my_string if ch.isdigit())

---

for ch in my_string:
    if ch.isdigit():
        answer += int(ch)
profile
하나씩 차근차근

1개의 댓글

comment-user-thumbnail
2023년 8월 9일

글 잘 봤습니다.

답글 달기