분류 전체보기 270

20220905 TIL

오늘의 한 일 python 강의 1일차 효율적인 코딩 공부법 특강 백준 알고리즘 문제 풀이 - 정리 및 복습 python 강의 1일차 파이썬 언어의 특징 컴파일 언어인 C, Java와는 다르게 Python은 인터프리터 언어이다. 컴파일러 - 어떤 프로그래밍 언어로 쓰여진 소스 파일을 다른 프로그래밍 언어로 바꾸어주는 번역기 인터프리터 언어의 특성 상 코드를 컴파일 하는 단계가 없기 때문에 코드가 실행되기까지의 속도는 빠르지만, 런타임에서 코드가 동작하는 시간은 비교적 느린 편이다. 동적 타입 언어로 C, Java와 다르게 변수를 할당할 때 자료형을 지정해 주지 않아도 됩니다. 문법이 쉽고 간결합니다. 때문에 생산성이 좋으며 코드의 가독성이 좋습니다. 코드 컨벤션 코드 컨벤션은 팀 프로젝트등의 협업시 내가..

python 백준 알고리즘 4344번: 평균은 넘겠지

https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 테스트케이스 c만큼 range 둘째줄부터 첫 수는 학생의 수 N ([0]), 이후 N명의 점수 ([1:]) 점수/N 으로 평균구해서 각 점수와 비교해 평균보다 높은 학생의 비율을 소수점 셋째 자리까지 출력(format 함수 이용) 내 제출 C = int(input()) # 케이스의 수 for _ in range(C): scores = list(map(int,input().split())) avg = sum(scores[1:])/scores[0] # 평균 구하기 scores[..

python 백준 알고리즘 8958번: OX퀴즈

https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 풀이 O가 연속으로 나올 수록 1점씩 올라가고 X가 나올 시 0점으로 돌아가는 score 생성, score값을 모두 더하는 sum_score 생성, sum_score 출력! 내 제출 test_case = int(input()) for i in range(test_case): ox_list = input() score = 0 # O가 나올수록 점수가 1씩 올라가게 sum_scor..

20220904 WIL

이번주동안 한 일 미니 프로젝트 진행 파이썬 기초 문법 백준 알고리즘 문제풀이 미니 프로젝트 https://youtu.be/N4Jy4-VZb0A 미니프로젝트 완성본 시연 영상(본인 출연) '알약' 이슈로 프로젝트 진행에 차질이 있어 초기 기획했던 백엔드 부분까지 진행되지 못해서 너무 아쉽다. 백엔드 연동과 함께 웹개발 강의를 복습하면서 만든 개인 사이트에 연동시켰으면 정말 멋졌을것.. 다른 조들의 결과물들을 보면서 클론코딩을 통해 넷플릭스 템플릿을 쓴다거나, 백엔드 연동으로 로그인까지 구현해내는걸 보면서 우리도 한걸음만 더 나가면 할 수 있었던 것들인데 싶어서 안타까운 마음이 들었다.. 다음엔 좀 더 열심히 해보자! P.S. 프론트엔드는 미적감각이 생명이다.. 발표물들 보면서 뼈저리게 느낌 파이썬 기초 ..

python 백준 알고리즘 1546번: 평균

https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 풀이 총 과목수 N, 각 시험 점수를 인풋값으로 받고 최고점수(max())를 이용 (점수/최고점수) x 100로 새로운 점수를 구한 뒤 N으로 나눈 새로운 평균값 출력. 내 제출 N = int(input()) # 총 과목 수 scores = list(map(int,input().split())) # 각 시험 점수 max_score = max(scores) # 최고점수 new_scores = ..

python 백준 알고리즘 3052번: 나머지

https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 풀이 중복되는 수를 걸러내는 방법에 대해 묻는 문제. 집합 자료형 set이 중복을 허용하지 않는 점을 이용해 손쉽게 풀 수 있었다! 내 제출 num_list = [] for i in range(10) : n = int(input()) num_list.append(n % 42) print(len(set(num_list))) ## 집합 자료형 set을 사용하는것에 대한 문제(중복 필터)

python 백준 알고리즘 2562번: 최댓값

https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net 풀이 for 반복문을 통해 리스트 작성 (.append() 함수), max를 이용해 최댓값 출력, .index()함수를 이용해 몇 번째 수인지 출력. 내 제출 num_list = [] for i in range(9) : num_list.append(int(input())) ### num_lst 안에 입력된 값들 차례대로 넣기 print(max(num_list)) p..

python 백준 알고리즘 10818번: 최소, 최대

https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 최솟값(min), 최댓값(max) 함수를 활용해 쉽게 풀 수 있는 문제였다. 내 제출 cnt = int(input()) numbers = list(map(int,input().split())) print(min(numbers),max(numbers))

python 백준 알고리즘 1110번: 더하기 사이클

https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 풀이 주어진 조건을 함수에 적용시켜 출력하는 문제. 처음 주어진 수가 한자리수인 경우를 감안하여 초기 풀이에 활용해 보았으나 시간초과로 오답처리 되어, 주어진 수가 한자리수여도 상관 없는 밑의 식으로 최종답안 작성. 내 제출 N = int(input()) # 주어지는 수 ex)26 num = N cnt = 0 while True: a = num//10 # 2 10의자리 숫자 b = ..