본문 바로가기

Python144

Java vs Python Java vs Python Java와 Python의 차이점 두 언어 모두 사용해보고, 취준을 하며 느낀 점 파이썬은 가독성이 자바보다 훨씬 뛰어나고, 코드도 작성하기 매우 쉽다 기본적으로 파이썬은 변수 타입을 따로 지정하지 않아도 된다 (코딩 테스트를 할 때에 변수명만 고민하면 된다) 파이썬은 AI, 데이터 쪽으로 더 많이 활용이 되는 것 같다 실제로 파이썬에서 AI와 데이터 쪽으로 라이브러리가 잘 형성되어 있다 (TensorFlow, Pytorch, NumPy, Pandas 등) 이는 파이썬이 자바보다 학습을 더 빠르게 할 수 있다는 영향도 있다 Compile 언어 vs Interpreted 언어 기본적으로 컴퓨터는 0과 1만 이해할 수 있다. 즉 개발 언어를 사용해도, 그 개발 언어에서는 0과 1로 .. 2024. 1. 31.
그래프 탐색 🧑‍💻 그래프 탐색 멀티잇 코딩테스트 러닝클래스'Python 5월반 구름이의 여행 연결되어 있는 섬들을 K개 이하로 갈 수 있는지 확인하는 것 BFS를 이용하여, 최단 거리 구하기를 하였다 1번부터 N번 섬까지 못 갈 수도 있음 그러기 위해 flag를 이용하여, 못 가면 False 즉 NO 를 출력하도록 유도 N번 섬에 도착하면 answer에다가 몇 번을 움직였는지 저장을 한 후, K번 이하인지 구별하기 from collections import deque N, M, K = map(int, input().split()) island = [[] for _ in range(N + 1)] visited = [False] * (N + 1) queue = deque([]) answer, flag = 0, Fals.. 2023. 5. 25.
다이나믹 프로그래밍 🧑‍💻 다이나믹 프로그래밍 멀티잇 코딩테스트 러닝클래스'Python 5월반 미리 저장된 값을 어떻게 활용할 수 있을지 생각을 한다 피보나치 수 같은 경우, 1번째와 2번째를 미리 구하고, 그 앞 두 숫자를 이용하여 값을 구하는 것이다 피보나치 수 재귀로 풀이 (Runtime Error) user_input = int(input()) def fibo(num): if num == 0: return 0 elif num == 1: return 1 return fibo(num - 2) + fibo(num - 1) print(fibo(user_input) % 1000000007) 리스트로 풀이 user_input = int(input()) fibo = [1, 1] for i in range(2, user_input.. 2023. 5. 24.
그리디 알고리즘, 원인과 결과 찾기 🧑‍💻 그리디 알고리즘, 원인과 결과 찾기 멀티잇 코딩테스트 러닝클래스'Python 5월반 거스름돈 1, 5, 10, 20, 40 원이라는 동전이 있다 N원을 거슬러 주기 위한 최소의 동전의 개수를 구하는 것 기본적으로 40부터 시작해서, 남은 나머지를 계산해주면 된다 N = int(input()) coin = [40, 20, 10, 5, 1] count = 0 for c in coin: if c temp_end: count += 1 temp_end = end print(count) 2023. 5. 23.
기초 자료구조의 구현과 응용 🧑‍💻 기초 자료구조의 구현과 응용 멀티잇 코딩테스트 러닝클래스'Python 5월반 Stack 말 그대로 stack을 구현하면 된다 stack은 Last In First Out 규칙을 가지고 있다 stack에 들어갈 수 있는 용량이 정해졌다 stack이 이미 꽉 찼을 때에, 값을 넣어야 하면, "Overflow"를 출력 stack에 아무것도 없는데, 값을 빼야 하는 명령어가 실행되면, "Underflow"를 출력한다 N, K = map(int, input().split()) stack = [] for _ in range(N): command = list(input().split()) if command[0] == "push": if len(stack) < K: stack.append(int(command.. 2023. 5. 22.
완전 탐색 🧑‍💻 완전 탐색 멀티잇 코딩테스트 러닝클래스'Python 5월반 제곱 암호 암호를 풀어내는 문제 알파벳, 숫자 순서로 짝을 이뤄서 입력이 주어진다 숫자를 제곱하고, 앞에 알파벳을 제곱번째의 알파벳을 출력하는 것이다 ord와 chr를 사용했다 알파벳을 숫자로 반환하기 위해서 ord를 사용 소문자 같은 경우 a = 97 ~ z = 122 122를 넘어갈 경우를 대비해서 (int(code[i]) ** 2) % 26 를 해주었다 그리고 한번 더 122를 넘어가면 26을 뺐다 마지막으로 숫자를 문자로 반환하기 위해 chr를 사용 N = int(input()) code = list(input()) answer = '' for i in range(N): if i % 2 == 0: temp = code[i] else.. 2023. 5. 11.
시뮬레이션과 창의적 해결 🧑‍💻 시뮬레이션과 창의적 해결 멀티잇 코딩테스트 러닝클래스'Python 5월반 0 커플 숫자로 된 리스트가 주어진다 리스트 안에 숫자의 개수는 짝수이다 음수와 양수가 들어가 있고, 둘의 합이 0이면 커플이다 그 중 합하면 0이 아닌 숫자를 구해야 한다 딕셔너리로 먼저 해결을 했다 key 로는 숫자의 절대값을 넣었고, value에다가 원래 값을 넣었다 만약 절대값이 같으면 value에 값끼리 더했다 (같은 절대값이 나오면, value는 0이 된다) 그리고 마지막에 모든 value 들을 더했다 짝이 없으면, value는 0이 아니라, 다른 숫자일 것 N = int(input()) score = list(map(int, input().split())) temp_dict = {} for s in score: .. 2023. 5. 9.
기초 수학과 구현 🧑‍💻 기초 수학과 구현 멀티잇 코딩테스트 러닝클래스&#39;Python 5월반 최장 맨해튼 거리 |x1 - x2| + |y1 - y2| 의 값이 최장 맨해튼 거리다 (x1, y1) , (x2, y2) 4개의 숫자가 주어지는데, 그 숫자로 만들 수 있는 제일 긴 맨해튼 거리를 만드는 것이다 permutations을 사용하여 주어진 4개의 숫자로 만들 수 있는 수열을 모두 구한다 그리고 맨해튼 거리 공식을 이용하여, 최장 맨해튼 거리를 구하면 된다 from itertools import permutations numbers = list(map(int, input().split())) answer = 0 for i in permutations(numbers, len(numbers)): answer = max.. 2023. 5. 5.
13_Pandas - DataFrame Pandas - DataFrame sort_values 메서드 선택한 행을 정렬해주는 것이다 기본으로는 오름차순으로 정렬된다 NaN은 기본으로 제일 밑에 놓인다 by = "" : 정렬을 할 행의 이름을 넣는다 ascending : 오름차순 또는 내림차순을 결정한다 na_position : NaN 이 어느 위치에 출력이 될지 정해준다 Salary 행을 보면 NaN이 모두 위쪽에 위치한 것을 볼 수 있다 default는 제일 아래에 위치하는 것이다 복수의 행 정렬시키기 nba.sort_values(by = ["Team", "Name"], ascending = [True, False]) by 에 정렬할 행을 순서대로 넣고, ascending에 오름차순 또는 내림차순인지 지정한다 ascending은 꼭 안 해도.. 2023. 5. 4.