파이썬
-
[Python] 함수형 프로그래밍 이란Python/Python 2024. 7. 3. 18:21
함수형 프로그래밍 페러다임에서는 프로그램의 상태를 변경하는 일련의 흐름의 단계가 아닌 수학적인 함수 평가를 통한 프로그램 플로우를 달성한다. 순수한 함수형 프로그래밍 상태의 변경을 피하고 가변데이터 구조를 이용한다.함수형 프로그래밍의 일반적인 기본 용어를 아라보자Side Effect(부작용): 함수가 자신의 로컬 환경 바깥에 있는 상태를 수정한다면 해당 함수는 Side Effect을 가진다. 다시 말해 Side Effect이란 함수를 호출한 결과로 발생되는 함수 바깥에서 관찰 할 수 있는 모든 변경이다. Side Effect의 예시로는 글로벌 변수의 수정, 함수 범위 바깥에서 이루어지는 객체의 속성 변경, 외부 서비스로의 데이터 저장 등이 있다. side effect는 OOP 개념의 핵심이다. OOP에서..
-
Python 내장함수 eval(), zip()Python 2020. 12. 29. 16:52
파이썬을 그래도 어느정도 공부한줄 알았는데 eval() 이라는 함수를 보고 깜짝놀랐다 무슨 내장 함수 같은데 처음 보았다. 간단하게 코드로 설명하자면 evalString = '1+2' print(eval(evalString)) 출력값은 3 이다 이 말은 결국에 String 형태로 넘어온 어떠한 식값을 eval이라는 내장함수를 쓰면 다이렉트로 식을 계산하는 그런 함수 인것같다 zip() 이 친구 또한 내장 함수 인데 간단하게 설명하자면 리스트들을 서로 매칭해주는 함수이다 team = ['유벤투스','바르샤','토트넘','뮌헨','LA다저스'] player = ['삐삐두','메시','손흥민','레반도프스키'] ds = zip(team,player) print(ds) print(list(ds)) . 해당 코드..
-
백준 알고리즘 2331 파이썬Python/Python 알고리즘 2020. 5. 7. 11:32
분해합 성공출처다국어분류 한국어 시간 제한메모리 제한제출정답맞은 사람정답 비율 2 초 192 MB 22471 11351 9394 49.833% 문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다. 자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 출력 첫째 줄에 답을..
-
파이썬 백준 알고리즘 10870Python/Python 알고리즘 2020. 4. 29. 15:23
피보나치 수 5 성공 시간 제한메모리 제한제출정답맞은 사람정답 비율 1 초 256 MB 13641 9150 8363 68.353% 문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n>=2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n이 주어진다. n은 20보다 작거나 같은 자연수 또는 0이다. 출력 첫째 줄..
-
파이썬 백준 알고리즘 3009Python/Python 알고리즘 2020. 4. 29. 15:07
네 번째 점 성공출처다국어 한국어 시간 제한메모리 제한제출정답맞은 사람정답 비율 1 초 128 MB 7868 5740 5271 75.668% 문제 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. 입력 세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다. 출력 직사각형의 네 번째 점의 좌표를 출력한다. 예제 입력 1 복사 30 20 10 10 10 20 예제 출력 1 복사 30 10 x, y = 0, 0 x1, y1 = map(int, input().split()) x2, y2 = map(int, input().split()) x3, y3 = map(int, input().split()) x..
-
백준 알고리즘 4153 파이썬Python/Python 알고리즘 2020. 4. 29. 14:40
직각삼각형 성공출처다국어분류 한국어 시간 제한메모리 제한제출정답맞은 사람정답 비율 1 초 128 MB 10158 5792 5383 57.609% 문제 과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다. 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오. 입력 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. 출력 각 입력에 대해 직각 삼각형이 맞다면 "right", 아니라면 "wrong"을 출력한다. 예제 입력 1 복사 6 8 10 25 52 60 5 12 13 0 0 0 예제 출력 1 복사 right wrong right while ..
-
파이썬 알고리즘 (백준 1085)Python/Python 알고리즘 2020. 4. 29. 14:28
직사각형에서 탈출 성공분류 시간 제한메모리 제한제출정답맞은 사람정답 비율 2 초 128 MB 20150 11475 10398 58.070% 문제 한수는 지금 (x, y)에 있다. 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 x y w h가 주어진다. w와 h는 1,000보다 작거나 같은 자연수이고, x는 1보다 크거나 같고, w-1보다 작거나 같은 자연수이고, y는 1보다 크거나 같고, h-1보다 작거나 같은 자연수이다. 출력 첫째 줄에 문제의 정답을 출력한다. 예제 입력 1 복사 6 2 10 3 예제 출력 1 복사 1 x, y, w, h = map(int, input..
-
Python 알고리즘 (백준 1002)Python/Python 알고리즘 2020. 4. 29. 13:26
터렛 성공분류 시간 제한메모리 제한제출정답맞은 사람정답 비율 2 초 128 MB 79180 14404 11227 19.724% 문제 조규현과 백승환은 터렛에 근무하는 직원이다. 하지만 워낙 존재감이 없어서 인구수는 차지하지 않는다. 다음은 조규현과 백승환의 사진이다. 이석원은 조규현과 백승환에게 상대편 마린(류재명)의 위치를 계산하라는 명령을 내렸다. 조규현과 백승환은 각각 자신의 터렛 위치에서 현재 적까지의 거리를 계산했다. 조규현의 좌표 (x1, y1)와 백승환의 좌표 (x2, y2)가 주어지고, 조규현이 계산한 류재명과의 거리 r1과 백승환이 계산한 류재명과의 거리 r2가 주어졌을 때, 류재명이 있을 수 있는 좌표의 수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주..