알고리즘 기초/배열과 연결리스트8 막대기 17608(두번째 풀이) import sys sys.stdin = open("input.txt","rt") n = int(input()) lists = [] max_num = 0 cnt = 0 for i in range(n): num = int(input()) lists.append(num) for k in range(1,n+1): idx = -k if max_num < lists[idx]: cnt += 1 max_num = lists[idx] print(cnt) 알고리즘 기초/배열과 연결리스트 2023. 9. 8. 백준 17608 import sys sys.stdin = open("input.txt","rt") n = int(sys.stdin.readline()) num_list = [] for i in range(n): num_list.append(int(sys.stdin.readline())) front_num = num_list.pop() cnt = 1 for i in range(len(num_list)-1,-1,-1): if num_list[i] > front_num: cnt += 1 front_num = num_list[i] print(cnt) 알고리즘 기초/배열과 연결리스트 2023. 7. 5. 두수의 합 # 두 수의 합 nums = [21,12,30,15,6,2,9,19,14] k = 9 def Solution(nums, k): lt = 0 rt = 0 ans_list = [] for n in range(lt,len(nums)-1): lt += 1 rt += 1 for m in range(rt, len(nums)): if nums[n] + nums[m] == k: ans_list.append(nums[n]) ans_list.append(nums[m]) if len(ans_list) == 0: ans_list = [0,0] return ans_list print(Solution(nums, k)) 알고리즘 기초/배열과 연결리스트 2023. 7. 4. 중복제거 # 중복제거 nums = [0,1,1,1,2,2,2,3] def Solution(nums): from collections import deque num_list = deque() for i in sorted(nums): if i not in num_list: num_list.appendleft(i) return list(num_list) print(Solution(nums)) 알고리즘 기초/배열과 연결리스트 2023. 7. 4. 수열의 회전 nums = [3,7,1,5,9,2,8] k = 3 def Soulution(nums, k): from collections import deque num_dq = deque(nums) for _ in range(k): pop_left = num_dq.popleft() num_dq.append(pop_left) # 리스트로 변환해서 반환해줘야함 ! return list(num_dq) tmp = Soulution(nums, k) print(tmp) 알고리즘 기초/배열과 연결리스트 2023. 7. 4. 연속된 1의 길이 nums = [1,1,0,1,1,1,0,1,1,1,1,1,0] def Solution(nums): answer = 0 cnt = 0 for i in nums: if i == 1: cnt += 1 else: answer = cnt cnt = 0 if cnt > answer: answer = cnt return answer print(Solution(nums)) 알고리즘 기초/배열과 연결리스트 2023. 7. 4. 합격생 def solution(data, score): cnt = 0 for num in data: if num >= score: cnt += 1 return cnt print(solution([60, 50, 80, 90, 55, 70, 65, 45], 60)) print(solution([10, 20, 30, 40, 50], 60)) print(solution([50, 65, 75, 87, 90, 55, 78, 93, 100], 70)) print(solution([99, 30, 50, 55, 68, 70, 90, 100], 80)) 알고리즘 기초/배열과 연결리스트 2023. 7. 2. 최솟값 찾기 num_list = [7,10,5,3,2,15,19] def solution(data): answer = 0 min_val = 19700000 for i in range(len(data)): if min_val > data[i]: min_val = data[i] answer = i return answer print(solution(num_list)) 알고리즘 기초/배열과 연결리스트 2023. 7. 2. 이전 1 다음