[백준 / BOJ] 10998번 AxB (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 9. 1. 18:51[백준 / BOJ] 10998번 AxB (C++, Python)

링크 : https://www.acmicpc.net/problem/10998 10998번: A×B 두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 문제 풀이 간단한 연산 문제다. 파이썬을 사용하는 사람들은 아래 링크를 참고하면 좋을 것 같다. map(int, input().split())에 대한 설명을 써두었다. https://reo91004.tistory.com/198 [백준 / BOJ] 1000번 A+B (C++, Python) (부제 : map(int, input().split())에 대하여) 링크 : https://www.acmicpc.net/problem/1000 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하..

[백준 / BOJ] 1001번 A-B (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 9. 1. 18:39[백준 / BOJ] 1001번 A-B (C++, Python)

링크 : https://www.acmicpc.net/problem/1001 1001번: A-B 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 문제 풀이 간단한 입출력 문제다. 파이썬을 사용하는 사람들은 아래 링크를 참고하면 좋을 것 같다. map(int, input().split())에 대한 설명을 써두었다. https://reo91004.tistory.com/198 [백준 / BOJ] 1000번 A+B (C++, Python) (부제 : map(int, input().split())에 대하여) 링크 : https://www.acmicpc.net/problem/1000 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는..

[파이썬 심화] 10. 여러 조건에 따라 기능 선택하기
◎ Python/파이썬 심화 (책)2022. 9. 1. 18:16[파이썬 심화] 10. 여러 조건에 따라 기능 선택하기

삼항 연산자로 더 짧은 코드를 만들자 var = int(input("숫자를 입력하세요 : ")) if var < 10: print("10보다 작습니다") else: print("10보다 크거나 같습니다") if-else문을 보통 위와 같이 쓰지만, 한 줄로 더 짧게 만들 수 있다. var = int(input("숫자를 입력하세요 : ")) print("10보다 작습니다") if var < 10 else print("10보다 크거나 같습니다") 이와 같은 삼항 연산자는 코드가 더 짧아진다는 장점 외에도 if-else문보다 메모리도 적게 차지한다. 또한 본인은 함수에서 return할 때 자주 사용한다. 참고하면 좋을 링크도 첨부한다. https://tpgns.github.io/2018/04/24/nested..

[백준 / BOJ] 1000번 A+B (C++, Python) (부제 : map(int, input().split())에 대하여)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 8. 31. 20:52[백준 / BOJ] 1000번 A+B (C++, Python) (부제 : map(int, input().split())에 대하여)

링크 : https://www.acmicpc.net/problem/1000 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 문제 풀이 간단한 연산 문제다. C++ 상세 풀이 더보기 별로 특별하게 생각할 것 없이 두 수를 입력받은 후 더해주면 된다. #include void init() { std::ios_base::sync_with_stdio(false); std::cin.tie(nullptr); std::cout.tie(nullptr); } int main() { init(); int A, B; std::cin >> A >> B; std::cout

[파이썬 심화] 9. 여러 문장을 묶어 반복 실행하기
◎ Python/파이썬 심화 (책)2022. 8. 31. 20:13[파이썬 심화] 9. 여러 문장을 묶어 반복 실행하기

반복형(iterable)과 반복자(Iterator)은 다르다! 반복형(iterable)이란? 말 그대로 '반복 가능한 객체'를 말한다. 특징으로 원소를 여러 개 가진 정적인 객체를 만든다. 반복자(Iterator)이란? 반복자 객체는 값을 차례대로 꺼낼 수 있는 객체를 말한다. 동적 처리를 하기 위해 별도의 핸들러를 만든 후 내부의 원소를 하나씩 꺼내 처리하는 기능을 제공한다. 사실 이렇게 봐도 다른 점이 잘 보이지 않는다. 예제로 보자. 우선 Iterable인지 Iterator인지 구별하기 위해 collections 모듈을 import한 후 상속 관계를 파악하는 issubclass 함수를 이용해 Iterable 클래스를 상속받는지, Iterator 클래스를 상속받는지 알아보자. import collec..

[백준 / BOJ] 10718번 We love kriii (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 8. 30. 20:16[백준 / BOJ] 10718번 We love kriii (C++, Python)

링크 : https://www.acmicpc.net/problem/10718 10718번: We love kriii ACM-ICPC 인터넷 예선, Regional, 그리고 World Finals까지 이미 2회씩 진출해버린 kriii는 미련을 버리지 못하고 왠지 모르게 올해에도 파주 World Finals 준비 캠프에 참여했다. 대회를 뜰 줄 모르는 지박 www.acmicpc.net 문제 문제 풀이 2557번 Hello World와 같은 간단한 입출력 문제다. C++ 상세 풀이 더보기 개행문자를 이용해 출력하면 된다. #include void init() { std::ios_base::sync_with_stdio(false); std::cin.tie(nullptr); std::cout.tie(nullptr..

[파이썬 심화] 8. 조건 판단에 따른 문장 선택하기
◎ Python/파이썬 심화 (책)2022. 8. 30. 18:35[파이썬 심화] 8. 조건 판단에 따른 문장 선택하기

단순 제어문 단선 제어문은 if 예약어만 사용해서 참일 경우 해당 문장을 처리하거나 else와 겸용해서 참과 거짓에 따라 문장을 선택해 처리할 수 있다. if False: # if문이 참일 때 실행됨 print("참") else: # if문이 거짓일 때 실행됨 print("거짓") [결과] 거짓 한 가지 유의할 점은 조건식을 판단하기 전에 예외처리가 먼저 진행되므로 if 조건문에 예외가 발생하지 않도록 조심해야 한다. 또한 자료형에서 빈 값은 Flase로 처리한다. 즉 리스트, 딕셔너리, 집합 등이 비어있을 때 False를 반환한다. 복합 제어문 조건이 많아지면 판단해야 하는 경우가 많아지고, 이를 위해서 각 조건을 분리해 제어문을 작성해야 한다. 이런 경우에 elif를 사용한 복합 제어문이 필요하다. ..

[파이썬 심화] 7. 할당 및 기타 문장 처리하기
◎ Python/파이썬 심화 (책)2022. 8. 29. 22:06[파이썬 심화] 7. 할당 및 기타 문장 처리하기

변수에 값을 할당(assignment)하다 파이썬은 변수를 정의하면 이름공간에 변수의 이름을 Key로 만들고 객체를 값으로 저장한다. 이름공간이 딕셔너리이기 때문! 이러한 할당문은 모듈, 함수, 클래스 등 다양한 곳에 정의할 수 있다. 여러 값을 여러 변수에 할당하려면 원소의 개수가 같아야 한다. 개수가 같지 않다면 예외가 발생한다! x, y, z = 1, 2, 3 x, y, z = [1, 2, 3] x, y, z = (1, 2, 3) 물론 변수와 원소의 개수가 같지 않아도 패킹을 이용해 남는 원소를 리스트로 묶어버릴 수 있다. x, *y = 1, 2, 3 x, y [결과] (1, [2, 3]) 사용하지 않는 변수는 어떻게 처리할까? 보통 파이썬에서는 관용적으로 사용하지 않는 변수를 _로 처리한다. 이는..

[백준 / BOJ] 2557번 Hello World (C++, Python) (부제 : Python print에 대해)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 8. 29. 20:50[백준 / BOJ] 2557번 Hello World (C++, Python) (부제 : Python print에 대해)

링크 : https://www.acmicpc.net/problem/2557 2557번: Hello World Hello World!를 출력하시오. www.acmicpc.net 문제 문제 풀이 간단한 입출력 문제다. C++이나 JAVA같은 경우는 풀이 방법이 여러가지가 존재하지만 파이썬은 알아봐도 print을 쓰는 한 가지만 존재하는 것 같다. C++ 상세 풀이 더보기 C++에서는 입출력 방식이 여러 가지가 존재한다. 대표적으로 iostream, stdio.h, cstdio 헤더파일을 사용하는 방법이 존재한다. 메모리는 iostream이 가장 많이 차지한다. 그래서 후에 너무 많이 입출력을 받으면 기본적으로 stdio보다 느리다. 이를 해결하기 위해 C++ 표준 스트림과 C 표준 스트림의 동기화를 끊는 방..

[파이썬 심화] 6. 문서화와 주석으로 꾸미기
◎ Python/파이썬 심화 (책)2022. 8. 28. 16:13[파이썬 심화] 6. 문서화와 주석으로 꾸미기

프로그램을 실행해서 원하는 결과가 나와도 프로그램이 완성된 것은 아니다. 프로그램을 유지하려면 프로그램에 대한 설명이 필요하기 때문이다. 특히 모듈, 클래스, 함수에 관한 설명은 긴 문장으로 작성된다. 함수와 클래스의 문서화(docstring) 파이썬 프로그램의 기준은 함수, 클래스, 모듈이다. 이 단위 기능을 설명하기 위해 문서화를 제공한다. 문서화로 작성된 것은 도움말 함수 help로 조회할 수 있다. 아무 모듈이나 import해보자. import math 모듈의 문서화는 속성 __doc__에 저장되고 이를 다른 변수에 할당한 후 print로 출력할 수 있다. import math a = math.__doc__ print(a) [결과] This module provides access to the m..

[파이썬 심화] 5. 문장 꾸미기
◎ Python/파이썬 심화 (책)2022. 8. 27. 10:53[파이썬 심화] 5. 문장 꾸미기

제어문이나 순환문 등 에 여러 문장을 묶어 작성해야 할 때가 있다. 이 경우 다른 프로그램 언어는 중괄호를 통해 블록 문장으로 구분하지만 파이썬은 들여 쓰는 방식을 사용한다. 또한 한 문장이 길어지는 경우 여러 줄을 사용할 수 있는데 한 문장으로 연결하는 방식에는 역슬래시, 괄호 등을 사용한다. 여러 문장을 한 줄에 쓸 때는 문장의 끝에 세미콜론을 붙인다. 문장의 끝은 한 줄에 여러 문장을 쓸 경우에만 사용한다. 블록 문장의 줄 들여쓰기 (Lines and Indentation) 조건문, 순환문, 함수 정의문 등에 머리부와 몸체부를 콜론(:)으로 구분한다. 몸체부는 들여쓰기 후 한 장 또는 여러 문장의 블록 문장을 작성한다. 들여쓰기 알아보기 순환문인 for문의 머리부를 작성한 후 콜론 다음에 문장을 들..

[파이썬 심화] 4. 객체를 생성한 클래스가 자료형이다
◎ Python/파이썬 심화 (책)2022. 8. 24. 20:54[파이썬 심화] 4. 객체를 생성한 클래스가 자료형이다

자바 등의 프로그램 언어는 변수를 정의할 때 변수에 저장될 자료형(Data Type)을 지정하지만, 파이썬의 경우 변수는 단순히 값을 관리한다. 모든 값을 객체로 만들어 사용하는 차별점을 지니기 때문이다. 이는 객체 내부에 객체를 생성한 클래스인 자료형을 항상 가지기 때문에 가능하다. 정수를 실수로 변환하는 형 변환은 정수 객체를 실수 객체로 바꾸는 것이다. 변수에 객체를 바인딩한 후 자료형 결정하기 파이썬의 변수는 실행할 때 값을 보관해서 관리하는 역할만 수행한다. 변수에 값을 할당해서 변수를 정의하면 실제 변수에 객체가 할당되는데, 이를 변수에 객체를 바인딩(binding)한다고 한다. 이는 곧 객체 할당이 자료형을 결정하는 것과 같다. 이런 방식을 동적 자료형(Dynamic typing)이라고 한다..

image