tech.junha.kr

[파이썬 코드업 기초 100제] 문법 복습, 자주 틀리는 유형

https://codeup.kr/problemsetsol.php?psid=33

문제집 / Python 기초 100제

순전히 문법을 몰라, 구현 시간이 많이 걸렸다.

기초 문법은 외워야하니깐 복습을 해보자.

1. 문법 되짚기

  1. " 'a' " 에서 '는 그냥 출력된다.
  2. 출력 형식에 필요한 따옴표와 출력할 문자인 따옴표를 구분하기 위하여 \" 또는 \' 를 이용한다.

\'를 출력하고 싶다면 \'='니까 \\'를 써야 한다.
3. \도 안전하게 출력하려면 \\를 사용하는 것이 좋다.
4. To use single or double quotes inside of a string, surround the string in triple quotes.

both_quotes = """ 'a"b"c' """
  1. print("3","4") 하면 콤마 사이에 알아서 공백이 생긴다. 34가 아닌 3 4
  2. 아무것도 없는 공(empty) 문자는 작은 따옴표(') 2개를 붙여서 ''로 표현한다.
  3. s[a:b] 라고 하면, s라는 단어에서 a번째 문자부터 b-1번째 문자까지 잘라낸 부분을 의미한다.
  4. input으로 받는 데이터 타입은 string이다.
  5. 16진수로 프린트: hexa의 '%X' -> "%X"%를 앞에 붙임. print("%X"% a)
    -> x는 소문자 16진법, X는 대문자 16진법

-> "여기에 써야 앞에 나옴%X"%
10. end='' 프린트 마지막 마다, sep='' 프린트 콤마 마다
11. n = int(a, 16) -> 입력된 a를 16진수로 인식해 변수 n에 저장
12. chr(유니코드)=문자 <-> str
13. format(수, ".2f") -> 원하는 자리까지의 반올림 된 실수 값을 만들어 준다. 14. python에선 average함수가 없다.
15. sum(iterable)이다. sum(iterable): sum(리스트)) sum(a,b) 안된다.
인자 : iterable한 자료형을 받으며 numeric 해야합니다. 즉, 리스트나 튜플 처럼 인덱스 순환 접근이 가능한 자료형이고 내부에 숫자로만 이루어져 있어야합니다. 여기서 숫자는 정수, 실수 둘다 가능입니다.
16. 비교/관계연산자는 그 결과를 True(참), 또는 False(거짓)로 계산해주는 연산자이다.

<, >, <=, >=, ==(같다), !=(다르다) 6개가 있다.
17. bool(0)을 제외한 모든 값은 True다.
18. str(0)은 문자열 0을 말한다. 아스키코드로는 48이다. 엄연한 문자열이다. ord(0)=48
19. a,b = map(bool, input().split()) 여기서 0을 바로 입력하면 48이 bool로 변환되기 때문에 True가 입력된다. 조심!'

a,b = map(bool, map(int ,input().split()))

해야 원하는 결과 나온다.
20. ~n(이진수) = -n(십진수) -1
21. ** 비트단위(bitwise)연산자는,
~(bitwise not), &(bitwise and), |(bitwise or), ^(bitwise xor), <<(bitwise left shift), >>(bitwise right shift)가 있다.
22. python 3항 연산자: print(a if a>b else b)
23.print(int('a')) -> invalid literal for int() with base 10: 'a'
int('10')은 10으로 형변환이 되는데 int('a')는 오류난다 문자를 숫자로 바꾸려면 ord를 쓰자.
24. print()와 print("\n")차이: print("\n")는 개행 문자열을 넣으면 두 번을 띈다.
25. 2차원 리스트 0으로 채우기 코드

 d = [[0]*10 for _ in range(10)]

16진수 입력: int(input(),16)

8진수 출력: "%O"%

sort(reverse=True)하면 내림차순으로 정렬되지, 기존의 값에 반대는 아님

2. 자주 틀리는 유형

  1. 단순 실수, 내 맘대로 문제 유추: 7개

  2. 문법 무지: 10개

  3. 오타: 8개

  4. 디테일: 20개

문제 꼼꼼히 읽고, 문제 유니버스안에서 생각하자

3. 다시 풀어볼만한 것들

6064

6065

6071

6079

6081

6082

6085

6086

6090~6098

4. 3차 복습

6064 if붙여라 ㅎㅎ
6065 print 안에 if문은 삼항연산자만 가능, else일 때 노출력은 불가능
6079 조건 한국어를 잘 읽어야함
6082 i%10 자리수 낮춘 글자 수 추출할 때 쓰임, 3의 배수 추출할 때 (i%10) %3 ==0 이 안되는 경우 i =0일 때도 0이되니까: 반례를 찾는 것도 실력인듯