Python

카테고리 없음

[정보올림피아드] 134 : 반복제어문2 - 형성평가5

Language_Coder 134 : 반복제어문2 - 형성평가5 문제 10개의 정수를 입력받아 입력받은 수들 중 짝수의 개수와 홀수의 개수를 각각 구하여 출력하는 프로그램을 작성하시오. 입력 예 10 20 30 55 66 77 88 99 100 15 출력 예 even : 6 odd : 4 문제 풀이 Python3 even = 0 # 짝수의 개수 odd = 0 # 홀수의 개수 for i in map(int, input().split()): if i % 2 == 0: even += 1 else: odd += 1 print("even :", even) print("odd :", odd)

Solution/정보올림피아드

[정보올림피아드] 133 : 반복제어문2 - 형성평가4

Language_Coder 133 : 반복제어문2 - 형성평가4 JUNGOL www.jungol.co.kr 문제 100 이하의 자연수 n을 입력받고 n개의 정수를 입력받아 평균을 출력하는 프로그램을 작성하시오. (평균은 반올림하여 소수 둘째자리까지 출력하도록 한다.) 입력 예 3 99 65 30 출력 예 64.67 문제 풀이 - Python3 n = int(input()) total = 0 cnt = 0 for i in map(int, input().split()): total += i cnt += 1 if cnt == n: break print("{:.2f}".format(total / n)) n을 입력받은 뒤, 이후 정수를 입력받을 때마다 카운트 값인 cnt 변수를 1씩 증가시킨다. cnt 값이 n과..

Solution/정보올림피아드

[정보올림피아드] 1303 : 숫자사각형1

Beginner_Coder 1303 : 숫자사각형1 JUNGOL www.jungol.co.kr 문제 사각형의 높이 n과 너비 m을 입력받은 후 n행 m열의 사각형 형태로 1부터 n*m번까지 숫자가 차례대로 출력되는 프로그램을 작성하시오. 숫자의 진행 순서는 처음에 맨 윗줄의 왼쪽에서 오른쪽으로 1부터 차례대로 너비 m만큼 출력한 후 다음 줄로 바꾸어서 다시 왼쪽에서 오른쪽으로 1씩 증가하면서 출력하는 방법으로 n번 줄까지 반복한다. 입력 형식 사각형의 높이n와 너비m(n과 m의 범위는 100 이하의 정수)이 주어진다. 출력 형식 위에서 형태의 직사각형을 입력에서 들어온 높이 n과 너비 m에 맞춰서 출력한다. 숫자 사이는 공백으로 구분한다. 입력 예 4 5 출력 예 1 2 3 4 5 6 7..

Solution/정보올림피아드

[정보올림피아드] 533 : 선택제어문 - 자가진단6

Language_Coder 533 : 선택제어문 - 자가진단6 JUNGOL www.jungol.co.kr 문제 남자는 'M' 여자는 'F'로 나타내기로 하고 18세 이상을 성인이라고 하자. 성별('M', 'F')과 나이를 입력받아 "MAN"(성인남자), "WOMAN"(성인여자), "BOY"(미성년남자), "GIRL"(미성년여자)을 구분하여 출력하는 프로그램을 작성하시오. 입력 예 F 15 출력 예 GIRL 문제 풀이 - Python3 gender, age = input().split() age = int(age) if gender == 'M': if age >= 18: print('MAN') else: print('BOY') else: if age >= 18: print('WOMAN') else: pri..

Solution/정보올림피아드

[정보올림피아드] 122 : 선택제어문 - 형성평가3

Language_Coder 122 : 선택제어문 - 형성평가3 JUNGOL www.jungol.co.kr 문제 년도를 입력받아 윤년(leap year)인지 평년(common year)인지 판단하는 프로그램을 작성하시오. 입력 예 2008 출력 예 leap year Hint! 400으로 나누어떨어지면 윤년이다. 또는 4로 나누어떨어지고 100으로 나누어떨어지지 않으면 윤년이다. 나머지는 모두 평년이다. 문제 풀이 - Python3 year = int(input()) if year % 4 == 0 and year % 100 != 0 or year % 400 == 0: print('leap year') else: print('common year')

Programing Language/Python

[Python] Short-Circuit Evaluation (SCE)

SCE 논리 연산자 and, or 표현식과의 관계이다. 참, 거짓 판정에 이어 논리 연산자의 결과는 expresstion 값이 되는데, 이를 short-circuit evaluation(SCE) 혹은 lazy evaluation이라고 한다. or 왼쪽이 참인 경우 왼쪽 값 반환 왼쪽이 거짓인 경우 오른쪽 값 반환 and 왼쪽이 참인 경우 오른쪽 값 반환 왼쪽이 거짓인 경우 왼쪽 값 반환 bool 타입은 당연하게 Ture, False 값들이 나온다. bool 타입이 아닌 다른 타입의 값들을 비교해본다. 파이썬에서 0은 False이므로 0 or 100 결과 값은 or의 오른쪽 값인 100이 반환된다. 'hello'와 'python'은 빈 문자열이 아니므로 True이다. 따라서 'hello' or 'pytho..

Programing Language/Python

[Python] 비교 연산자 chaining (ex. False == True == False)

💭 비교 연산자와 논리 연산자 조건식에 사용 가능한 비교 연산자와 논리 연산자가 있다. 비교 연산자와 논리 연산자의 결과 값은 항상 True 아니면 False이다. 비교 연산자 > >= 참 ^ (xor) : eXclusive OR (XOR, 배타적 논리합) 같으면 거짓, 다르면 참 💭 비교 연산자 chaining 비교 연산자는 임의로 체이닝 된다. 파이썬에는 범위 조건을 표현할 때 a

Programing Language/Python

[Python] 대입과 얕은 복사(Shallow copy), 깊은 복사(Deep copy)

💭 대입 연산 (Assignment) 대입 연산은 객체 복사가 아니다. 따라서 지금부터 설명할 대입과 복사는 연관된 것이 아닌 별개이다. id() 함수는 변수의 주소 값을 반환한다. 대입 연산은 주소 값을 복사하여 대입하는 것이기 때문에 b의 주소도 a의 주소와 같은 것을 확인할 수 있다. 이후 a 값을 변경한 뒤에 b의 값도 변화하는지 확인해본다. a에 1을 더하였다. a와 b는 주소 값이 같았었지만 b 값은 변화되지 않았고, a의 주소가 바뀌었다. 이를 이해하려면 iterable과 immutable의 개념에 대해서 알아야 한다. 지금은 간단히 그림으로만 설명한다. int 타입은 immutable 한 타입이다. 따라서 값 별로 개개인의 메모리 공간을 하나 갖고 있는 것이다. 파이썬에서는 중복된 immu..

Programing Language/Python

[Python] dict

파이썬의 집합 데이터 타입 list 순서 있음. 중복 허용. mutable tuple 순서 있음. 중복 허용. immutable set 순서 없음. 중복 허용 안 함. dict 순서 없음. key와 value 쌍으로 구성. dict dictionary 타입은 key-value 쌍으로 저장되는 데이터 집합이다. list, tuple, set은 value 중심지만 알고보면 key-value쌍으로 구성되어 있다. dict에서 key-value 쌍은 순서가 고정되지 않으므로 순서가 없고, key는 중복될 수 없다. 'name'과 'email'이라는 key 값이 있고, 'name' key에 대응하는 value 값인 '홍길동'과 'email' key에 대응하는 값인 'hong@mail.com' value 값이 있는..

Programing Language/Python

[Python] Set

파이썬의 집합 데이터 타입 list 순서 있음. 중복 허용. mutable tuple 순서 있음. 중복 허용. immutable set 순서 없음. 중복 허용 안 함. dict 순서 없음. key와 value 쌍으로 구성. Set 데이터 간 순서가 없고 중복을 허용하지 않는 집합 데이터이다. set은 set() 함수 또는 {}로 만들 수 있다. 중복을 허용하지 않는다고 하였으므로 'dog' 데이터 한 개는 인정되지 않는다. 따라서 animals set에는 'dog', 'cat', 'bird' 세 가지 데이터만 존재한다. 만약 list나 tuple에서 중복된 데이터를 제거하고 싶으면 set으로 형 변환한 뒤 다시 list나 tuple로 형 변환하면 된다. 순서가 없는 집합이므로 인덱스를 사용할 수 없다. ..

Programing Language/Python

[Python] tuple

파이썬의 집합 데이터 타입 list 순서 있음. 중복 허용. mutable tuple 순서 있음. 중복 허용. immutable set 순서 없음. 중복 허용 안 함. dict 순서 없음. key와 value 쌍으로 구성. tuple 콤마로 구분된 집합 데이터 타입이다. 원소 값은 immutable 한 값이기 때문에 list와 달리 원소 값을 변경할 수 없다는 게 특징이다. 따라서 주로 변경되지 말아야 할 데이터들을 저장할 때나, 복수의 값을 전달하는 목적으로 자주 쓰인다. 보통 튜플은 리스트와 비교하기 위해 ()로 선언하여 많이 쓰지만, 사실 ()가 없어도 콤마로 구분되어 있는 데이터 값들이면 튜플로 인식한다. 가장 중요한 점은 콤마(,)가 있어야 한다는 것이다. In [1]에서 보면 ()로 감싸 져 ..

Programing Language/Python

[Python] list 관련 함수

파이썬 리스트 관련 함수 .index(value) list 안에 value 값이 있으면 해당 value 값의 index를 반환한다. 만약 찾는 value 값이 여러 개 있는 경우 가장 처음에 발견한 데이터의 index 값을 반환한다. 찾는 value 값이 없다면 ValueError가 발생한다. .remove(value) 특정 value 값을 가진 원소를 삭제한다. 같은 value가 여러 개 있다면 첫 번째로 찾은 원소만 삭제한다. 찾는 value 값이 없다면 ValueError가 발생한다. .pop() list 맨 뒤에 위치한 원소를 반환하고, 해당 값을 list에서 제거한다. 매개변수를 넣어 해당 index의 원소를 pop 할 수도 있다. .sort() list 원소들을 정렬하는 함수이다. 기본으로는 ..

밈아
'Python' 태그의 글 목록 (3 Page)