[백준 / BOJ] 10869번 사칙연산 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 9. 1. 19:34[백준 / BOJ] 10869번 사칙연산 (C++, Python)

링크 : https://www.acmicpc.net/problem/10869 10869번: 사칙연산 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 문제 풀이 앞선 문제들 A + B, A - B, A x B, A / B를 모두 활용하는 문제다. 코드 전문 C++ HTML 삽입 미리보기할 수 없는 소스 Python HTML 삽입 미리보기할 수 없는 소스 소감 파이썬에서 // 연산자를 활용해야 하는 것이 주의할 점이었다.

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

링크 : https://www.acmicpc.net/problem/1008 1008번: A/B 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 문제 풀이 정답과 출력값의 절대오차 또는 상대오차가 10^-9 이하라는 조건 때문에 생각해 볼 여지가 있는 문제다. "10-9 이하의 오차를 허용한다는 말은 꼭 소수 9번째 자리까지만 출력하라는 뜻이 아니다." 이 문구가 왜 있는 것일까? 우선 float와 double형을 이해해야 한다. float형은 메모리 크기가 32bit이고, double형은 메모리 크기가 64bit이다. 이러한 크기 차이 때문에 표현가능한 소수점 이하 자리수가 float형은 6자리, double형은 15자리이다. 따라서 위 조건..

[백준 / 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..

image