분류 전체보기
-
[백준][python] 11720번: 숫자의 합알고리즘/Baekjoon 2022. 2. 3. 21:54
https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 처음에 단순하게 이렇게 풀었다. 공백없이 연속적으로 map을 이용해서 입력받고, sum함수안에 슬라이싱을 통해 다 더해줬음 n = int(input()) num = list(map(int,input())) ans = sum(num[0:]) print(ans) 다른 방법도 찾아봤다. 해결 아예 공백없이 숫자를 입력받을 때 문자열로 입력을 받고, 정수형으로 바꿔줘서 total에 더해주는 방법도 있다. N = int(input()) result = input() total = 0 fo..
-
[백준][python] 4344번: 평균은 넘겠지알고리즘/Baekjoon 2022. 2. 3. 21:42
https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 해결 for문 돌릴 때 슬라이싱을 이용할 수 있다. for score in stu_list[1:] 아주 요리조리 쓸모있게 사용할 수 있구만! 그리고 .. 출력 형식 주의.. f-string을 이용해서 편리하게 쓸 수 있다. f-string은 파이썬 3.6이상부터 지원된다. 가독성이 이전의 포맷형식들 보다 낫기 때문에 fstring에 익숙해지자 print(f'{result:.3f}%') n = int(input()) cnt=0 stu_list=[] for _ in range(..
-
[백준][python] 1546번: 평균알고리즘/Baekjoon 2022. 2. 3. 21:28
https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 내 코드 n = int(input()) lst = list(map(int,input().split())) new_lst=[] for i in lst: new_lst.append(i/(max(lst) *100)) total = sum(new_lst) / n print(total) 해결 사실... 왜 틀린지 아직도 모르겠다... 다른것이라곤 max()함수를 따로 빼서 쓴거? append()안에서..
-
[백준][python] 3052번: 나머지알고리즘/Baekjoon 2022. 2. 3. 21:20
https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 해결 처음에 cnt변수를 따로 생성해서 배열마다의 cnt을 따로 구해 그걸 또 배열에 넣었음 .. set이란 함수가 중복을 제거하는 기능을 가지고 있다는 것을 알았다. 즉, set함수는 리스트의 중복되는 값을 제거한 집합을 반환함! add : 하나의 값 추가 update: 여러개의 값 update remove : set내의 값 삭제 num=[] for i in range(10): n = int(input()) num.append(n%42) num = set(num) ..
-
[백준][python] 1110번: 더하기 사이클알고리즘/Baekjoon 2022. 1. 31. 16:55
https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 문제점 십의 자리랑 일의 자리를 문자열화 해서 잇고 숫자로 다시 바꾸는 과정으로 문제를 해결하려고 했음,,,, 1차원적인 생각 ㅜ result = str(second)+str(result%10) result = int(result) 해결 십의 자리는 곱하기 10을 하면 굳이 문자열로 잇지 않아도 잘 이어짐... 그리고 맨 처음 입력했던 수랑 비교하기 위해선 input으로 받은 n을 ..
-
[백준][python] 11021번: A+B - 7알고리즘/Baekjoon 2022. 1. 31. 14:42
https://www.acmicpc.net/problem/11021 11021번: A+B - 7 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. www.acmicpc.net 내가 푼 방식 - 형식 지정자 말고 그냥 연결해 줬음 t = int(input()) for i in range(1,t+1): a, b = map(int, input().split()) print("Case #",i,":",end=" ") print(a+b) 해결 - 형식 지정자를 사용하자 cases = int(input()) for i in range(cases): a,b = map(int, input().split()) ans = a + b print("Case ..
-
양방향 연결리스트(Doubly Linked Lists)알고리즘/이론정리 2021. 9. 14. 19:01
양방향 연결리스트란? 한쪽으로만 링크를 연결하지 말고 양쪽으로 - 앞으로도(다음node) 뒤로도(이전node)진행가능 node의 구조 확장 class Node: def __init__(self, item): self.data = item self.prev = None self.next = None 리스트 처음과 끝에 dummy node를 두자 -> 데이터를 담고 있는node들은 모두 같은 모양 L.insertAfter next = prev.next newNode.prev self.nodeCount: return None if pos > self.nodeCount // 2: i = 0 curr = self.tail while i < self.nodeCount - pos + 1: curr = curr.pre..