본문 바로가기

코딩36

백준OJ_단계별 풀이_1단계_입출력과 사칙연산 1~6단계 백준OJ 문제풀이11. 문제 경로 : 문제-단계별로 풀어보기2. 문제 설명 :1~6단계까지는 거의 모든 프로그래밍 시작의 첫 단계인 hello world 출력부터 두 개의 숫자를 입력 받아 덧셈, 뺄셈, 곱셈, 나눗셈 결과를 출력하는 문제를 다루고 있습니다. 시작 단계인만큼 정답 코드도 1~2 줄에 불과하고 비슷한 코드가 반복되기 때문에 큰 어려움 없이 입력과 출력을 익히기에 적합한 문제들입니다. 3. 주의사항 : 1) 10869번(사칙연산)문제 : 나눗셈(A/B) 출력시 예제 출력 2와 같이 정수형으로 출력해야 함에 유의.[hint] int(A/B) 또는 몫(//)연산자 사용 2024. 10. 9.
데이터 분석_1 : 어떤 문제를 다룰 것인가?(문제 정의) 1. 데이터 분석, 그거 왜 하는건데? (문제 정의) 얼마 전 유엔 사무총장은 더 이상 지구 온난화라는 표현은 적합하지 않다고 했습니다. 그러면서 ‘era of global boiling’이라는 표현을 사용했습니다. '지구가 끓고 있다.' UN chief says Earth in ‘era of global boiling’, calls for radical action 기사 원문: https://www.esgeconomy.com/news/articleView.html?idxno=4245 우리 나라는 어떤가요? 올 여름 열대지방에 내릴 법한 국지성 호우가 여러 차례 쏟아졌습니다. 선선해야할 가을은 여름 같이 후텁지근하기만 합니다. 우리나라 역시 '끓고 있는 지구'에 큰 영향을 받고 있습니다. 우리 몸으로 체.. 2023. 9. 19.
파이썬 GUI_8-2 : 미니 프로젝트_ 숫자 맞히기 게임 코드 설명 *본 코드는 pc(윈도)에서도 작동합니다. * 전체 코드는 첨부파일을 활용하세요. [코드 설명] 앞서 작성한 숫자 맞히기 게임 코드에 대한 설명입니다. 이전 글로 이동 ▶ [코딩/파이썬 활용 프로젝트] - 파이썬 GUI_8-1 : 미니 프로젝트_ 숫자 맞히기 게임 만들기 1 행 : gui 프로그래밍을 위해 tkinter 라이브러리를 불러옴. 2행 : 무작위 숫자를 생성하기 위해 random 라이브러리를 불러옴. 4행 : randint() 함수를 이용해 컴퓨터가 생성한 무작위 숫자(1~50 사이)를 c_number 변수에 기억시킴 5행 : 게임 사용자가 숫자 맞히기를 시도한 횟수를 저장할 변수로 count를 지정하고 0으로 초기화시킴 7~9행: '숮자 맞히기' 창(window)을 생성하기 위한 코드 11~.. 2023. 1. 16.
파이썬 GUI_8-1 : 미니 프로젝트_ 숫자 맞히기 게임 만들기 *본 코드는 pc(윈도)에서도 작동합니다. [목표] 컴퓨터가 만들어낸 무작위 숫자를 맞추는 게임을 만들어보자 지금까지 배운 내용과 몇 가지 새로운 내용을 추가하여 간단한 프로그램을 만들어 보겠습니다. 우리가 만들 프로그램은 컴퓨터가 만들어낸 무작위 숫자를 맞추는 게임입니다. 프로그램의 동작에 관해서는 아래 자세히 설명하겠습니다. 0. 프로그램 계획하기 1) 사용할 위젯(요소) : 레이블, 엔트리, 버튼 2) 기타 필요한 지식 : 함수 만들기(정의) 방법 3) 새로운 지식 : 무작위 숫자 만들어내기(random 라이브러리 사용으로 간단히 해결) 4) 프로그래밍 순서 : 창 만들기 -> 위젯 채우기 -> 함수 만들기 -> 프로그램 테스트 -> 실행 파일 만들기 1. 창 만들기 창은 우리 프로그램을 담는 틀에.. 2023. 1. 14.
코드업 파이썬 기초100제:6022_연월일 입력받아 나누어 출력 [문제] [설명] 25.01.09 와 같이여섯 자리로 된 연월일을 년도(25), 월(01), 일(09)로 구분하여 한 줄로 출력하라는 문제다. 즉 출력 결과는 다음과 같은 형태가 된다. 25 01 09 21번 문제에서 처럼 문자열 인덱스를 이용하면 쉽게 해결할 수 있다. *인덱스란 문자의 위치를 나타내는 값이다. 1)먼저 문자열을 입력받는다. str = input() 예를 들어, 250109를 입력했다고 하자. 이때, 문자열 변수 str에 저장된 문자열 250109의 인덱스는 다음과 같다. 인덱스 0 1 2 3 4 5 문자열 2 5 0 1 0 9 2)이제 문자를 2개씩 쪼개서 출력하면 된다. 문자열에 나란히 있는 문자를 두 개 이상 불러올 때, 인덱스 표기 방법은 다음과 같다. [시작 인덱스 : 끝 인덱.. 2023. 1. 9.
코드업을 비롯한 코딩 테스트 문제 풀이 팁 하나! 1. 대부분의 코딩 테스트는 비슷한 형식을 보인다. 문제 - 입출력 조건 - 입출력 예시... 등 문제를 풀고자 하는 사람들 대부분은 배치된 순서대로 문제를 먼저 읽고나서 입출력 조건... 순으로 읽어나갈 것이다. 여기, 문제 풀이에 도움될만한 간단한 팁을 소개한다. 2. 문제를 읽기 전에 입출력 조건을 먼저 읽자 코딩 테스트의 핵심은 조건에 맞게 데이터를 입력하고 처리한 결과를 출력하는 것이다. 따라서 무엇보다 입력과 출력이 중요하다. 특히, 코드업 전반부의 문제는 입력과 출력이 전부라고 생각해도 좋다. 문제를 접할 때, '그래서 나보고 어쩌라고?' 라는 마음으로 접근할 필요가 있다.(조금 공격적인가?^^;) 문제 풀이는 결국 '내가 해야할 일이 무엇인가?'를 파악하는 것이 핵심이다. 이를 '문제의 핵.. 2023. 1. 6.
코드업 파이썬 기초100제:6021_단어 1개 입력받아 나누어 출력 [문제] [설명] 문자열 값에서 각각의 문자를 뽑아내서 출력하라는 문제다. 예를 들어 world라는 문자열이 입력 됐을 때 다음과 같이 출력하면 된다. w o r l d 1. 먼저 문자열을 입력받는다. str = input() * 문자열은 영어로 string이므로 보통 변수명으로 s를 많이 사용한다. 위에서는 str을 사용했다. 2. 문자를 하나씩 뽑아서 출력한다. 여기서 핵심은 인덱스에 있다. 인덱스란 2개 이상의 값 중 특정한 값을 뽑아내기 위한 숫자다. 인덱스는 다음과 같이 표현된다. 인덱스 0 1 2 3 4 문자열 w o r l d 즉 world라는 문자열이 있다면 첫 문자인 w는 인덱스 0의 위치에 있고, 문자 d는 인덱스 4의 위치에 있다. 만약 str 변수에 문자열 world가 기억되어 있다.. 2023. 1. 5.
코드업 파이썬 기초100제:6020_주민번호 입력받아 형태 바꿔 출력 [문제] [설명] 18번부터 계속 같은 패턴의 문제다. 문제에서 요구하는 입력 형식은 주민번호 형식이다. 예를 들면 다음과 같다. 050907-1121112 출력 형식은 위 예시에서 하이픈(-)만 제거한 다음과 같은 형태다. 0509071121112 이제 차례대로 입력받고 출력해 보자. 1) 입력받기 입력받을 값은 두 개의 문자열이다. 하이픈(-)왼쪽에 위치한 문자열 (예:050907) 하이픈(-) 오른쪽에 위치한 문자열 (예: 1121112) 두 개의 문자열 값을 입력받기 위해 split() 함수를 사용한다. 각 값을 구분하기 위한 기호 -를 split() 함수의 괄호 안에 사용한다. 입력을 위한 코드는 다음과 같다. x, y = input().split('-') 2) 출력하기 x, y에 각각 구분되어.. 2022. 12. 30.
코드업 파이썬 기초100제:6019_연월일 입력받아 순서 바꿔 출력하기 [문제] [설명] 문제가 정한 형식으로 입출력하는 문제다. 18번을 푼 사람이라면 어렵지 않게 풀 수 있다. 다음은 문제에서 요구하는 입력 형식이다. 연도.월.일 1) 입력받기 연도, 월, 일, 3개의 값을 입력받기 위해 split() 함수를 사용한다. 각 값을 구분하기 위한 기호 . 를 split() 함수의 괄호 안에 사용한다. 코드는 다음과 같다. spilt('.') 이 코드는 입력 받는 값들을 . 를 사이에 두어 구분 짓는다는 뜻이다. 이상의 내용을 정리한 입력 코드는 다음과 같다. x, y, z = input(). split('.') *참고는 입력 값에 맞게 변수명을 year, month, day의 y, m, d를 사용함. 2) 출력하기 x, y, z 에 각각 구분되어 입력한 값을 -을 사이에 두.. 2022. 12. 27.
코드업 파이썬 기초100제:6018_시간 입력받아 그대로 출력하기 [문제] (입력 조건) 시(hour) 분(minute)이 콜론(':')으로 구분되어 한 줄로 입력된다. (입력 예시) 12:24 (출력 조건) 입력받은 시간 형식과 똑같이 "시:분" 형태로 출력한다. (출력 예시) 12:24 [설명] 문제에서 요구하는 형식으로 입력받아 출력하는 문제다. 그 형식은 다음과 같다. 시간 : 분 1) 입력받기 시간과 분, 2개의 값을 입력받기 위해 split() 함수를 사용한다. 이때, 유의할 점은 시간과 분에 해당하는 값을 구분하는 기호가 :이라는 점이다. 따라서 다음과 같이 값을 구분 짓는 기호 :를 split() 함수의 괄호 안에 사용한다. spilt(':') 이 코드는 입력받는 2개 이상의 값을 :를 사이에 두어서 구분 짓는다는 뜻이다. 따라서, 입력 코드는 다음과 같.. 2022. 12. 24.
코드업 파이썬 기초100제:6017_ 문장 1개 입력받아 3번 출력 [문제] [설명] 입력받은 값을 단순히 세 번 출력하는 문제다. print()함수르 이용하여 두 개 이상의 값을 나란히 출력하고자 한다면 사이에 쉼표(,)를 넣어주면 된다. 예를 들어 (예시1) 변수 a, b 두 개의 값을 출력한다면 print(a, b) (예시 2) 변수 a, b, c 세 개의 값을 출력한다면 print(a, b, c) 와 같은 형태가 된다. 문제에서 입력 받는 값은 문장, 즉 문자열이다. 따라서 자료형 변환은 필요 없이 입력만 받는다. 이후 세 번 출력하라고 했으므로 a = input() print(a, a, a) 와 같다. [답안 코드] a = input() print(a, a, a) 2022. 12. 17.
코드업 파이썬 기초100제:6016_ 문자 2개 입력받아 순서 바꿔 출력2 [문제] [설명] 먼저 공백(띄어쓰기)을 사이에 두고 문자 2개를 입력받는다. 앞서 배운 split() 함수와 input() 함수를 사용하면 다음과 같다. a, b = input().split() 이제 입력받은 값의 순서를 바꾸어 출력한다. 입력받은 a, b 순서를 뒤집어 주면 다음과 같다. print(b, a) [답안 코드] a, b = input().split() print(b, a) 2022. 12. 14.
코드업 파이썬 기초100제:6015_정수 2개 입력받아 그대로 출력하기2 [문제] [설명] 역시나 값을 입력받아 출력하는 문제다. 다만, 이번에는 줄 바꿈 없이 한 줄에서 두 개의 값을 입력받아야 한다. 우리가 알고 있는 input() 함수 만으로는 줄 바꿈 없이 두 개의 값을 입력받을 방법이 없다. 왜냐하면 input() 함수에 값을 입력하고 엔터를 누르는 순간 줄 바꿈이 일어나기 때문이다. 이때 필요한 함수가 바로 split() 함수다. split()함수는 이름처럼 문자열을 '나누어'준다 가장 간단한 사용 형태는 다음과 같다. 문자열.split() 예를 들어 'a b c'.split() 의 결과는 ['a', 'b', 'c']이다. 즉 공백(띄어쓰기)를 기준으로 문자를 한 개씩 '나누어'준다. 그 결과, 낱개인 문자 a, b, c로 나누어 졌다. 문제로 돌아가 보자. 이 문.. 2022. 12. 12.
코드업 파이썬 기초100제:6014_실수 1개 입력받아 3번 출력 [문제] [설명] 실수 형태의 자료를 한 개 입력받고 세 번 출력하라는 문제다. 실수를 입력받기 위해 두 단계가 필요하다. f = input() # 1) 단계 : input() 함수로 입력받기 f = float(a) # 2)단계 : 입력받은 값을 float()함수로 변환하기 위 두 단계를 다음과 같이 한 줄의 코드로 표현할 수 있다. f = float(input()) 이제 변수 f에 저장된 값을 세 번 출력하면 된다. 따라서 답안은 다음과 같다. [답안 코드] f = float(input()) print(f) print(f) print(f) [보충] 파이썬에는 자료의 형태를 구분하기 위한 자료형이 있다. 대표적으로 정수형, 실수형, 문자열 자료형 등이 있다. (간단하게 정수형은 소숫점이소수점이 없는 숫자.. 2022. 12. 11.
코드업 기초100제 파이썬:6012~6013정수 두 개 입력 받아 출력하기 [문제 : 6012번] [설명] 두 개의 정수를 입력 받아 출력하는 문제다. 예시에 나온 여섯 줄을 그대로 코딩해도 답이다. 이왕이면 코드를 함축적으로 줄여서 네줄로 표현해 보자. [또 다른 답안] 예시에서는 다음과 같이 두 단계에 걸쳐 정숫값을 입력받았다. 1)입력받기 : a = input() 2)정수로 변환 하기 : a = int(a) 위 두 단계를 다음과 같이 한 단계로 줄일 수 있다. a = int(input()) 이처럼 함수가 다른 함수를 포함하는 경우를 자주 볼 수 있다. 이 경우, 안쪽에 있는 함수①이 먼저 실행된 뒤 함수 ②가 실행된다. 따라서 이 코드의 실행 과정은 다음과 같다. ① input()함수가 실행돼 키보드로 입력받은 값을 가져온다. ② 입력 값을 int()함수가 정수로 변환한다.. 2022. 12. 8.