본문 바로가기
반응형

파이썬기초11

코딩테스트 10일차(2025.01.24) - 중앙값 구하기(프로그래머스) 내 풀이숫자의 크기를 순서대로 정렬해서 그중 가장 가운데에 있는 값을 구하도록 만들면 된다.  def solution(array): array.sort() mid_index = len(array) // 2 return array[mid_index]결과: 정답더 옳은 정답def solution(array): return sorted(array)[len(array) // 2] 이 정답은 sorted라는 함수를 사용하여, 더욱 더 간결하고 가독성이 높은 코드를 구현하였다. [     ]라는 것을 사용하여 리스트에 순서를 찾는 방법을 더욱 짧게 한 부분에서 아주 좋은 코드로 보여진다.  고찰sort와 sorted외에도 코딩테스트에서 중요하게 이야기되는 함수들은 무엇이 있을까?.. 2025. 1. 24.
코딩테스트 9일차(2025.01.23) - 백준2438번(별 찍기 - 1) 내 풀이 공백이 있는 피라미드 쌓기import sysinput = sys.stdin.readlinen = int(input().rstrip())for i in range(1, n + 1): print(f"{(n - i) * ' '}{i * '*'}")결과: 정답더 옳은 정답N = int(input())for i in range(1, N + 1): print(' ' * (N - i) + '*' * i) 고찰현재 코드를 다른 언어(예: C, Java, JavaScript 등)로 구현한다면 어떤 차이가 있을까? C 언어#include int main() { int n; scanf("%d", &n); for (int i = 1; i  Javaimport java.util.Scanner.. 2025. 1. 23.
코딩테스트 9일차(2025.01.23) - 2438번(별 찍기 - 1) 내 풀이반절 피라미드 쌓기import sysinput = sys.stdin.readlineT = int(input().rstrip())for i in range(1, T + 1): print(f"{i * "*"}")결과: 정답더 옳은 정답N = int(input())for i in range(1, N + 1): print('*' * i) 내가 만든 것의 문제점은 마지막에 print(f"")구문을 넣어 필요없는 부분을 만든 것이다.  이점을 생각하여 좋은 코드를 작성하도록 해야겠다. 고찰질문: 문제를 정확히 분석하는 과정"에서 중요한 요소는 무엇일까? 문제를 정확히 분석하는 과정에서 중요한 요소는 다음과 같다:1. 문제의 요구 사항 파악문제의 본질 이해: 문제에서 요구하는 핵심 기능이나 목표를 .. 2025. 1. 23.
코딩테스트 9일차(2025.01.23) - 11022번(A+B - 8) 내 풀이첫번째 줄 연산개수나머지 줄 연산할 숫자들단 Case #1: 1 + 1 = 2이렇게 적어야한다. import sysinput = sys.stdin.readlineT = int(input().rstrip())for i in range(1, T + 1): A, B = map(int, input().rstrip().split()) sys.stdout.write(f"Case #{i}: {A} + {B} = {A + B}\n")결과: 정답더 옳은 정답# 테스트 케이스의 개수 T를 입력받습니다T = int(input())# T번 만큼 반복합니다for i in range(T): # 각 줄에서 A와 B를 입력받습니다 # 입력받은 문자열을 공백을 기준으로 분리하여 각각 정수로 변환합니다 .. 2025. 1. 23.
코딩테스트 9일차(2025.01.23) - 11021번(A+B - 7) 내 풀이첫번째 줄 연산갯수나머지 N줄 둘이 더하기단,  Case #x: 로 되어있어야함 import sys# 첫째줄 입력받기input = sys.stdin.readlineT = int(input().rstrip())# 나머지 줄 인식 및 연산for i in range(1, T+1): A, B = map(int, input().rstrip().split()) print(f"Case #{i}: {A + B}")결과: 정답더 옳은 정답import sysinput = sys.stdin.readlineT = int(input().rstrip()) # 테스트 케이스 개수 입력for i in range(1, T + 1): # 테스트 케이스 번호는 1부터 시작 A, B = map(int, input.. 2025. 1. 23.
코딩테스트 8일차(2025.01.22) - 15552번(빠른 A+B) 여기서 말하는 사항은 다음과 같다. 1. input() 대신 sys.stdin.readline() 사용기본적으로 Python의 input()은 입출력 속도가 느리다. 대신 sys.stdin.readline()을 사용하면 속도를 높일 수 있다. 다만, 이 방식은 입력된 문자열의 끝에 개행 문자(\n)가 포함되므로, 문자열로만 저장하려면 .rstrip()을 사용해 개행 문자를 제거해야 한다.import sys# 기본 input() 방식value = input()# sys.stdin.readline() 방식 (개행 문자 제거)value = sys.stdin.readline().rstrip() 2. 입출력 스트림을 효율적으로 처리  또한 입력과 출력을 나누어서 처리할 필요가 없다. 테스트케이스를 전부 입력받아 .. 2025. 1. 22.
반응형