전체 글 183

파이썬 에러 종류, 문법 에러 - 공부하는 도비

코딩을 하다보면 프로그램을 잘못 구성하여 나오는 에러도 있지만, 예기치 못한 부분에서 발생하는 에러도 있습니다. 코드 뿐아니라, 외부요인, 컴퓨터의 내부요인에서도 에러가 발생 가능하므로 예외처리를 통해 에러에 대처하는 부분의 코드가 있다면 좀 더 완성도 있는 프로그램을 만들 수 있습니다. 그럼 에러의 종류에 대해 알아보겠습니다.! (pythonista 어플을 사용하여 작업했기 때문에, 간단하게 나오는 오류메시지만 보여드리겠습니다.) 1. SyntaxError : 잘못된 문법 때문에 발생(따옴표나 괄호 등) 2. NameError : 참조 변수가 없을 때 발생 선언하지 않은 c를 출력하라고 할 때 발생합니다. 3. ZeroDivisionError : 0으로 나눌 때 발생 0으론 못 나눈다는 거 알고 계시죠..

Python/Python Basic 2020.12.02

백준 10951번 문제 풀이 - 공부하는 도비

https://www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 예시 입, 출력을 보면 더이상 입력이 들어오지 않으면, 연산을 하고 결과로 출력하는 형태입니다. 어떻게 짜볼까 하다가 “try except” 를 사용해보았습니다. try-except 는 예외가 발생했을 때도 프로그램이 중단되지 않고 계속 실행하게 해주는 방법입니다. 자세한 내용은 아래 링크에서 확인해주세요. 2020/12/02 - [파이썬] - [파이썬] 에러처리, 예외 처리(try~except) - 공부하는 도비 [파이썬] 에러처리, 예외 처리(try~except) - 공부하는 도비 저번 피드에서는 파이..

Python/Baekjoon 2020.12.02

백준 10871번 문제 풀이 - 공부하는 도비

https://www.acmicpc.net/problem/10871 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net 10871번에서 주어진 입력과 출력을 똑같이 하기 위해서, 정수 N개 string을 list로 변형하고, for 문을 통해서 list의 각 방을 순회하며, list 안의 해당 값과 비교하고자 하는 값의 크기 비교를 하였습니다. 소스 코드 출력

Python/Baekjoon 2020.11.29

파이썬 다양한 별 찍기 - 공부하는 도비

오늘은 파이썬 for문을 이용해서 별 찍기를 해보았어요. 아래 그림처럼 입력된 수 만큼 단계별로 별을 찍어볼게요. 첫 번째 별 트리?는 간단하게 코딩할 수 있습니다. 단일 for문으로 작성했습니다. 두 번째 별트리가 조금 까다롭죠? 저는 for문을 중첩 사용해서 작성해보았습니다. 그리고 저는 파이썬의 end 함수도 활용했어요. end 함수 관련 내용은 아래 링크에서 더 자세하게 보실 수 있습니다.!! 2020/05/04 - [파이썬] - [파이썬] separator, end 함수 사용 - 공부하는 도비 [파이썬] separator, end 함수 사용 - 공부하는 도비 파이썬에서 가장 기본적인 함수에는 출력 함수 'Print'가 있죠? 개인적으로 프로그래밍 언어를 배울 때, 가장 중요한 것이 기본 출력이라..

Python/Python Basic 2020.11.28

파이썬 입력함수 input(), sys.stdin.readline(), rstrip(), lstrip(), strip() 사용 - 공부하는 도비

오늘은 파이썬의 다양한 입력 방법에 대해 알아보겠습니다. 파이썬에서 가장 자주 쓰는 입력 함수는 input()이 있죠? 하지만 입력 값을 수 백, 수 천개 받을 때는, 입출력 속도를 위해서 sys.stdin 함수를 사용해주는 것이 더 좋습니다. 파이썬 알고리즘 문제를 풀때, 시간초과 에러가 나오는 경우 해결 방법이기도 해요. 1. input() input()은 기본적으로 문자열을 입력받는 것으로 처리됩니다. 코드를 보면, 변수 a 의 type이 str인 것을 확인할 수 있습니다. input()이 문자열로 저장되는 걸 잘 이용하면, 입력되는 값을 list로 변형시켜서 값을 쪼개는 것도 가능합니다.! 정수형이나 실수형을 입력할때는 int(), float()을 앞에 써주면 되겠죠? 2. sys.stdin.re..

Python/Python Basic 2020.11.28

백준 15552번 문제 풀이 - 공부하는 도비

https://www.acmicpc.net/problem/15552 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net 백준 10950번 문제와 동일한데, 입력 받는 함수가 다르다는 특징이 있습니다. 이 문제에서는 입력함수를 input()이 아닌, sys.stdin.readline()를 사용하여야 합니다. 이 함수를 사용하는 이유는 따로 포스팅할테니 아래 링크에서 확인해주세요 sys.stdin.readline()함수를 사용하려면, import sys를 써주어야 합니다. map()과 split()을 잘 활용하면, 코드의 길이를 줄일 ..

Python/Baekjoon 2020.11.28

백준 10950번 문제 풀이 - 공부하는 도비

https://www.acmicpc.net/problem/10950 10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 입력한 정수만큼 for 문이 실행되고, 입력이 다 끝나면 더하기 연산에 해당하는 값을 한번에 출력하도록 하였습니다. 값이 어떻게 저장되는지 보기 위해서 for 문을 두 개 사용하였고, 입력되는 값들을 list에 저장하여 따로 더하기 연산을 하게끔 했습니다.

Python/Baekjoon 2020.11.28

파이썬 구구단 출력, end 함수 사용 - 공부하는 도비

오늘은 구구단을 출력해볼게요 두가지 경우로 나눠서 코딩해보았습니다. 첫 번째는 입력 받은 숫자의 그 단만 출력하는 것이고(ex, 2가 입력되면 2단 출력) 두 번째는 1단 부터 9단까지 모두 출력되는 코드입니다. - 첫 번째 print문을 이용해 출력하는 방법도 여러가지가 있죠? %연산자를 쓰는 방법과 쓰지 않는 방법 모두 정리해보았어요. - 두 번째 1단부터 9단 모두 출력 %2d 처럼 %연산자 뒤에 숫자를 적어주면 더 깔끔하게 출력이 가능해요! end 함수는 저번에 피드를 한번 올렸는데, print는 기본적으로 출력하는 값 끝에 \n 을 포함하고 있고, print를 여러 번 사용하면 출력하고자 하는 문장이 여러 줄에 출력됩니다. 따라서, 한 줄에 여러개의 문장(값)을 출력하고자 할때 end를 사용하면..

Python/Python Basic 2020.11.27

백준 2884번 문제 풀이 - 공부하는 도비

https://www.acmicpc.net/problem/2884 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, www.acmicpc.net If 문을 사용하면 되는 문제입니다. 다양한 방법으로 코딩가능한데, 저는 그냥 경우를 다 쓰고 if, elif를 사용해서 코딩해보았습니다.

Python/Baekjoon 2020.11.27

Pythonista3 - 공부하는 도비

저는 이번에 아이패드를 구매하게 되었는데, 패드로 작업을 할 수 없을까 생각하다가 여러 어플을 찾아보게되었는데요. 그 중 평점도 가장 높고, 제가 일주일 정도 사용해본 결과 이만큼 더 좋은 어플은 없을 거 같아서 추천해드릴려고합니다.!! 우선, 유료 어플이고요 12,000원 어플이지만, 해당 어플은 python 2.7과 python 3.6 을 동시에 지원하기 때문에 파이썬 버전 상관없이 효율성이 높은 장점이 있습니다. 또한, 패드에서 작업하던 코드를 icloud에 저장해두고 나중에 컴퓨터에서 작업을 이어나갈 수 있는 것도 좋은 것 같아요. 한가지 발견한 단점은 아직 한국어 입력이 제대로 되지 않는다는 점인데요 ㅜㅜㅜ 첫번째 줄 처럼 키보드나 아이패드를 통해 한글을 입력하면, 자음과 모음이 합쳐지지 않는데..

Python 2020.11.26

파이썬 이스케이프 문자, 이스케이프 문자 포함 출력 - 공부하는 도비

오늘은 파이썬 이스케이프 문자에 대해 정리해보고자 합니다. 처음 파이썬을 공부할 때, 이스케이프 관련 내용을 크게 생각하지 않고 있다가 최근 코딩하는 도중 계속 오류가 나는걸 보고 다시 정리해야겠다 생각해서 이렇게 피드를 쓰게 되었습니다. 기초적인 부분을 간과한게 이제서야 드러난거졓ㅎㅎ 우선, 이스케이프 문자란? 간단히 설명하면, 이미 지정된 문자들로 그 문자가 특수한 뜻을 가지는 것입니다. 파이썬에서 자주 쓰는 이스케이프 문자를 정리해보았어요. 두 가지만 자세하게 정리해볼게요~! - \\는 역슬래시를 나타내는데, 여기부터는 코드를 보면서 설명을 해볼게요. 저는 지금 "hi ~~\" 라는 문장을 출력하고 싶은데, 실행을 시키면 오류가 발생합니다. 이 경우는 컴퓨터가 \"을 큰 따옴표로 인식하기 때문에 틀..

Python/Python Basic 2020.11.26

백준 10172번 문제 풀이 - 공부하는 도비

10172번: 개문제 아래 예제와 같이 개를 출력하시오. 입력 출력 예제 입력 1 복사 예제 출력 1 복사 |\_/| |q p| /} ( 0 )"""\ |"^"` | ||_/=\\__|...www.acmicpc.net백준 10171번 고양이와 비슷한 문제인데, 파이썬 이스케이프 문자 출력과 관련한 지식이 조금 필요하다.  (아래 링크에 따로 이스케이프 관련 내용을 다루었습니다.) 2020/11/26 - [파이썬] - [파이썬] 이스케이프 문자, 이스케이프 문자 포함 출력 - 공부하는 도비 [파이썬] 이스케이프 문자, 이스케이프 문자 포함 출력 - 공부하는 도비오늘은 파이썬 이스케이프 문자에 대해 정리해보고자 합니다. 처음 파이썬을 공부할 때, 이스케이프 관련 내용을 크게 생각하지 않고 있다가 최근 코딩하..

Python/Baekjoon 2020.11.26

백준 10171번 문제 풀이 - 공부하는 도비

문제링크 : https://www.acmicpc.net/problem/10171 10171번: 고양이 아래 예제와 같이 고양이를 출력하시오. www.acmicpc.net 아마 그냥 출력하고자 하면 오류가 났을 것이다. 파이썬의 이스케이프 문자 때문에 조금 더 추가해서 코딩을 해야한다. 파이썬에서 역 슬래시를 그냥 출력하고자 할때는, 간단히 두번 사용하면 된다.! (아래 링크에 따로 이스케이프 관련 내용을 다루었습니다.) 2020/11/26 - [파이썬] - [파이썬] 이스케이프 문자, 이스케이프 문자 포함 출력 - 공부하는 도비 [파이썬] 이스케이프 문자, 이스케이프 문자 포함 출력 - 공부하는 도비 오늘은 파이썬 이스케이프 문자에 대해 정리해보고자 합니다. 처음 파이썬을 공부할 때, 이스케이프 관련 내..

Python/Baekjoon 2020.11.26

VPN( Virtual Private Network), 가상사설망 - 공부하는 도비

코로나 19 사태 장기화에 따라 기업과 회사의 재택근무가 늘고 있습니다. 기업들은 보통 사내망이 특정 시간, 장소, 기기에서만 접근할 수 있도록 운영되고 있어 재택근무를 진행하기에는 곤란한 경우가 많습니다. 이러한 문제를 VPN으로 해결할 수 있습니다. VPN(Virtual Private Network)란? 가상 사설망을 의미하며, 이는 인터넷 트래픽을 암호화하고 온라인 상의 정보를 보호해주는 기능을 가지고 있습니다. 일반적으로, 인터넷에서 웹사이트에 액세스 하려고 하면 ISP(Internet Service Provider, 인터넷 서비스 공급자)가 요청을 수신하고 목적지로 리디렉션 합니다. 그런데, 인터넷 트래픽이 ISP를 통과하면 ISP는 온라인에서 사용자가 하는 모든 것을 볼 수 있으며 심지어 사용..

NAT(Network Address Translation) - 공부하는 도비

NAT(Network Address Translation) 네트워크 주소 변환(Network Address Translation)은 내부망의 사설 IP 주소를 외부망의 공인 IP 주소로 바꿔주는 기술을 의미합니다. NAT를 이용하는 가장 큰 이유는 사설 네트워크에 존재하는 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함입니다. 인터넷의 공인 IP주소(IPv4)는 한정되어 있기 때문에, NAT를 이용하여 사설 IP주소를 사용하면서 이를 공인 IP 주소와 상호 변환하여, 공인 IP 주소를 다수가 함께 사용할 수 있도록 하는 방식입니다. 또한, 사설 대역 IP는 인터넷 구간에서 직접 접근할 수도 없고, 라우팅 또한 되지 않기 때문에 더욱 안전하게 내부 네트워크를 구성할 수 있습니다..

파이썬 Dictionary, get(), keys(), values(), items() 사용법, 파이썬 mapping type - 공부하는 도비

- mapping type : mapping object는 값의 대응 관계를 표시하여 임의의 key 값으로 value를 찾습니다. 파이썬의 mapping type은 Dictionary가 유일하고, 순서 열과 다르게, 순서 X, 중복 X, 수정 O, 삭제 O 와 같은 특징을 가지고 있습니다. '순서와 중복을 허용하지 않는다'가 파이썬 Dictionary의 가장 큰 특징입니다. 1. 선언 Dic의 선언은 {} - 중괄호를 사용합니다. key와 value 쌍들이 { }로 둘러싸이고, 각각의 요소는 key : value 형태이며, 코머(,)로 구분합니다. value에는 숫자, 문자, 문자열, 리스트, 튜플도 올 수 있습니다. 하지만, key에는 list. dict 등과 같이 내용이 바뀔 수 있는 object는 ..

Python/Python Basic 2020.06.09

파이썬 Tuple(튜플), index(), count(), in 함수 이용 - 공부하는 도비

파이썬 타입은 크게 '숫자(number), 순서 열(sequence), 매핑(mapping), 집합(set)'으로 구분할 수 있습니다. 오늘은 순서 열 중 Tuple(튜플)에 관해서 정리해보려고 합니다. 또한, 튜플과 연관 지어 index(), count(), in 함수 사용도 알아보겠습니다. 우선, 튜플의 가장 큰 특징 4가지는 순서 O, 중복 O, 수정 X, 삭제 X입니다. 순서, 중복, 수정, 삭제 모두가 되는 list(리스트)에 비해서는 제약조건이 많은 편입니다. 하지만, DB에서 수정, 삭제가 돼서는 안 되는 정보(ex, 주민등록번호) 따위를 저장할 때 사용하면 유용하겠죠? 삭제가 허용되지 않기 때문에, 'del, remove(), pop()' 함수는 사용할 수 없습니다. 1. 선언 a = ()..

Python/Python Basic 2020.06.09

파이썬 list(리스트), append(), reverse(), insert(), remove(), pop(), extend(), delete 함수 사용 - 공부하는 도비

파이썬 타입은 크게 '숫자(number), 순서 열(sequence), 매핑(mapping), 집합(set)'으로 구분할 수 있습니다. 오늘은 순서 열 중 list(리스트)에 관해서 정리해보려고 합니다. 또한, 리스트와 연관 지어 append(), reverse(), insert(), remove(), pop(), extend(), delete 함수 사용도 알아보겠습니다. 우선, 리스트의 가장 큰 특징 4가지는 순서 O, 중복 O, 수정 O, 삭제 O 가 된다는 것입니다. 스트링(문자열)과 비교했을 때, 굉장히 유연하게 쓸 수 있다고 느끼실 겁니다. 1. 선언 a = [] b = list() c = [1, 2, 3, 4, 5] d = ['hi', 'i','am', 'dobby'] e = ['hi', [1..

Python/Python Basic 2020.06.08

VirtualBox오류, VMware오류, SVM모드 활성화 방법, AMD-V is disavled in the BIOS (or by the host OS) 오류 해결 - 공부하는 도비

처음으로 Intel이 아니라 라이젠 CPU를 선택해서 컴퓨터를 조립하게 되었는데, 항상 쓰던 VirtualBox에 환경 설정을 다 해두고 가상 운영체제를 실행시키니 오류가 나더라고요. 저기 있는 오류를 보면, AMD-V is disabled in the BIOS (or the host OS) 저 말은 바이오스 세팅이 가상화가 켜져있지 않다는 뜻이에요. 그래서 컴퓨터 부팅 시 BIOS에 접근해서 CPU 가상화를 해줄 겁니다. 보통 바이오스 화면은 메인보드사마다 다른데, 보통 DEL이나 F2, F10, F12키를 누르면 들어가집니다. 개인 PC에 맞는 bios진입법은 검색해보세요~ 참고로 제 PC 메인보드는 ASUS EX A320M입니다. DELETE키를 누르면 BIOS 진입이 가능합니다. 가상화 활성화시키..

Basic IT Knowledge 2020.05.29