CodeUp #2

이말감·2021년 4월 28일
0

CodeUp

목록 보기
2/2
  • 코드업 풀면서 몰랐던 개념 정리

3개의 요소로 이루어지는 3항 연산은
"x if C else y" 의 형태로 작성이 된다.

  • C : True 또는 False 를 평가할 조건식(conditional expression) 또는 값
  • x : C의 평가 결과가 True 일 때 사용할 값
  • y : C의 평가 결과가 True 가 아닐 때 사용할 값

조건식 또는 값이 True 이면 x 값이 사용되고, True가 아니면 y 값이 사용되도록 하는 코드이다.


알파벳 문자 a의 정수값은 ord('a')로 알아낼 수 있다.
chr(정수값)을 이용하면 유니코드 문자로 출력할 수 있다.


  • 리스트는 너무 어려워

    코드업 6092
    선생님은 출석부를 보고 번호를 부르는데,
    학생들의 얼굴과 이름을 빨리 익히기 위해 번호를 무작위(랜덤)으로 부른다.
    그리고 얼굴과 이름이 잘 기억되지 않는 학생들은 번호를 여러 번 불러
    이름과 얼굴을 빨리 익히려고 하는 것이다.
    출석 번호를 n번 무작위로 불렀을 때, 각 번호(1 ~ 23)가 불린 횟수를 각각 출력해보자.

입력 :
첫 번째 줄에 출석 번호를 부른 횟수인 정수 n이 입력된다. (1 ~ 10000)
두 번째 줄에는 무작위로 부른 n개의 번호(1 ~ 23)가 공백을 두고 순서대로 입력된다.

풀이 :
선생님이 출석 번호를 부른 횟수 n
무작위로 부른 n개의 번호가 들어간 a

n = int(input())
a = input().split()

a는 아직 문자로 이루어져 있으므로 정수로 변환하기

for i in range(n) :
	a[i] = int(a[i])

23명의 학생들로 이루어진 출석부 d
d를 모두 0으로 초기화 시킨다.

d = []
for i in range(24) :
	d.append(0)

학생들이 불린 만큼 d에 횟수 추가해주기
예를 들면 n이 3, a가 1 3 5이면
a[1] = 1, a[2] = 3, a[3] = 5 이고
1번, 3번, 5번 학생이 각각 한 번씩 불렸으므로
출석부에 d[1], d[3], d[5] 에 1씩 증가해야 한다.

for i in range(n) :
	d[a[i]] += 1

마지막으로 출석부 전체를 출력해준다.

for i in range(1, 24) :
	print(d[i], end=" ")
profile
전 척척학사지만 말하는 감자에요

0개의 댓글