코딩 도구/백준(49)
-
백준 11660 파이썬, 구간 합 알고리즘, 2차원 배열
백준 11660 : 구간 합 구하기 5 문제 https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net 답안 코드 : import sys input = sys.stdin.readline n, m = map(int, input().split()) A = [[0] * (n + 1)] D = [[0] * (n + 1) for _ in range(n + 1)] for i in range(n): A_row = [0] + ..
2024.02.01 -
백준 11659 파이썬, 구간 합 알고리즘, sys.stdin.readline()
백준 11659 : 구간 합 구하기 4 문제 https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net 답안 코드 : import sys input = sys.stdin.readline suNo,quizNo = map(int, input().split()) numbers = list(map(int, input().split())) prifix_sum = [0] temp = 0 for i in numbers: temp = temp +..
2024.01.30 -
백준 1546 파이썬
백준 1546 : 평균 문제 https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 답안 코드 : n = input() mylist = list(map(int, input().split())) mymax = max(mylist) sum = sum(mylist) # 한 과목과 관련된 수식을 총합한 후 관련된 수식으로 변환해 로직이 간단해짐 print(sum*100/mymax/int(n)) 생각 : # 모든 점수 입력 받고, 최고점 별도로 저장 해놓..
2024.01.28 -
백준 11720 파이썬 , 리스트 자료구조
백준 11720 : 숫자의 합 구하기 문제 https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 답안 코드 : n = input() numbers = list(input()) sum = 0 for i in numbers: sum = sum + int(i) #number에 있는 각 자리 수를 가져와 더해주기 print(sum) 생각 : # 파이썬의 리스트 자료구조로 쉽게 해결 가능. # 주어진 숫자를 리스트의 형태로 저장한 뒤 리스트를 index를 이용해 탐색. # 각 자릿수의 값을 정수형으로 변환해서 더하기.
2024.01.26 -
백준 1377 파이썬 , 버블 소트 그리고 sys.stdin.readline()
백준 1377 : 버블 소트 문제 https://www.acmicpc.net/problem/1377 1377번: 버블 소트 첫째 줄에 N이 주어진다. N은 500,000보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 A[1]부터 A[N]까지 하나씩 주어진다. A에 들어있는 수는 1,000,000보다 작거나 같은 자연수 또는 0이다. www.acmicpc.net 답안 코드 : import sys input = sys.stdin.readline N = int(input()) A = [] for i in range(N): A.append((int(input()), i)) Max = 0 sorted_A = sorted(A) for i in range(N): if Max < sorted_A[i][1] - ..
2024.01.11 -
코딩 테스트의 기본 디버깅
코드의 논리 오류를 어떻게 잡을까? ㄴ 가장 뛰어난 오류 탐색 방법은 디버깅 이다. 디버깅이란? 디버깅은 모든 소프트웨어에서 소스 코드의 오류 또는 버그를 찾아서 수정하는 과정입니다. 디버깅의 유래 디버깅이라는 용어의 유래는 1940년대에 하버드 대학에서 근무했던 Grace Hopper 제독 시절로 거슬러 올라갑니다. 그녀의 동료 중 한 명이 대학의 컴퓨터 작동을 방해하는 나방을 발견하자, 그녀는 동료들에게 ‘시스템을 디버깅하고 있구나’라고 말했습니다. 컴퓨터 프로그래머들은 1950년대에 버그와 디버깅이라는 용어를 처음 사용한 것으로 기록되었고, 1960년대 초에 프로그래밍 커뮤니티에서 디버깅이라는 용어를 일반적으로 사용하게 되었습니다. 디버깅의 중요성 (출처 : (책)Do It! 알고리즘 코딩테스트(파..
2024.01.07