코딩도장 파이썬 심사문제 # 3

chaerin·2021년 1월 8일
0

PYTHON

목록 보기
7/17
post-thumbnail

22.10 2의 거듭제곱 리스트 생성하기

표준 입력으로 정수 두 개가 입력됩니다(첫 번째 입력 값의 범위는 1~20, 두 번째 입력 값의 범위는 10~30이며 첫 번째 입력 값은 두 번째 입력 값보다 항상 작습니다). 첫 번째 정수부터 두 번째 정수까지를 지수로 하는 2의 거듭제곱 리스트를 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다). 단, 리스트의 두 번째 요소와 뒤에서 두 번째 요소는 삭제한 뒤 출력하세요. 출력 결과는 리스트 형태라야 합니다.

입력
1 10
결과
>>> [2, 8, 16, 32, 64, 128, 256, 1024]

입력
10 20
결과
>>> [1024, 4096, 8192, 16384, 32768, 65536, 131072, 262144, 1048576]

point ✅

  • 첫 번째 정수에서 두 번째 정수까지 숫자를 생성하려면 for i in range(start, stop + 1)처럼 반복문을 작성
  • 반복문으로 2의 거듭제곱 리스트를 생성하려면 [2 ** i for i in range(start, stop + 1)]과 같이 작성
  • 리스트에서 pop(1)을 사용하여 두 번째 요소를 삭제하고, pop(-2)를 사용하여 뒤에서 두 번째 요소를 삭제한다. 또는, del a[1], del a[-2] 사용 가능하다.

23.7 지뢰찾기

이해가 필요함 ㅜ0ㅜ

24.5 특정 단어 개수 세기

표준 입력으로 문자열이 입력됩니다. 입력된 문자열에서 'the'의 개수를 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다). 단, 모든 문자가 소문자인 'the'만 찾으면 되며 'them', 'there', 'their' 등은 포함하지 않아야 합니다.

입력
the grown-ups' response, this time, was to advise me to lay aside my drawings of boa constrictors, whether from the inside or the outside, and devote myself instead to geography, history, arithmetic, and grammar. That is why, at the, age of six, I gave up what might 
have been a magnificent career as a painter. I had been disheartened by the failure of my Drawing Number One and my Drawing Number Two. Grown-ups never understand anything by 
themselves, and it is tiresome for children to be always and forever explaining things to the.
결과
>>> 6


가격이 한 줄로 입력되고 ;(세미콜론)으로 구분된다고 했으므로 input().split(';')으로 문자열을 입력

point ✅

  • 'the'의 개수만 구하려면 먼저 paragraph에 split을 사용하여 공백을 기준으로 분리한 뒤 리스트로 만들어준다.
  • for 반복문으로 리스트 words를 반복하면서 문자열이 'the'인지 판단한다.
  • strip에 ',.'을 지정해서 콤마와 점을 삭제한 뒤 'the'와 비교한다.
  • 비교한 결과가 참이면 변수 count에 1을 더해준다.

24.6 높은 가격순으로 출력하기

표준 입력으로 물품 가격 여러 개가 문자열 한 줄로 입력되고, 각 가격은 ;(세미콜론)으로 구분되어 있습니다. 입력된 가격을 높은 가격순으로 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다). 이때 가격은 길이를 9로 만든 뒤 오른쪽으로 정렬하고 천단위로 ,(콤마)를 넣으세요.

입력
51900;83000;158000;367500;250000;59200;128500;1304000
결과
1,304,000
  367,500
  250,000
  158,000
  128,500
   83,000
   59,200
   51,900

point ✅

  • 가격이 한 줄로 입력되고 ;(세미콜론)으로 구분된다고 했으므로 input().split(';')으로 문자열을 입력한다.
  • 입력받은 문자열을 정렬해 주기 위해 리스트로 변환한다.
  • 내림차순 정렬(높은 가격 -> 낮은 가격)을 위하여 sort(reverse=True)을 사용한다.
  • 가격을 한 줄씩 출력하기 위해 for문을 사용한다.
  • 길이 9, 오른쪽 정렬, 천단위 콤마(,)표시 방법
    • '{0:>9,}'와 같은 포매팅 사용
    • '%9s' % format(price, ',')와 같이 서식 지정자와 format 내장 함수를 사용

0개의 댓글