본문 바로가기

반응형

프로그래밍

(21)
[Python | 4153] 직각삼각형 [Python | 4153] 직각삼각형 주어진 삼각형의 세 변에 대하여 삼각형이 직각인지 아닌지 구하는 문제. 피타고라스의 정리 문제이다. try1, solved! # 4153 while True: x, y, z = map(int, input().split()) if x==0 and y==0 and z == 0: break lst = [x, y, z] lst = sorted(lst) right = lst[2]**2 left = lst[1]**2 + lst[0]**2 if right == left: print('right') else: print('wrong') 첨에 쉽다고 생각했는데 풀다보니 어...? 가장 긴 변의 제곱에 대해서 다른 변의 제곱의 합과 비교해야하네? 하는 생각이 들어 고민한 문제. so..
[Python | 11050] 이항계수 [Python | 11050] 이항계수 문제 푸는 이유 진짜 오랜만에 글쓴다😥 12월 중순까지 프로젝트 3개, 졸업논문 남았지만 뭔가 오늘은 폭풍의 눈같은 상황인 것 같당. 내일 되면 발표 리허설, 프로젝트 미팅 2개 있는데ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 난 왜 마음이 편안한거지 그래서 편안한김에 오랜만에 알고리즘 문제 풀어보려고 한다. 내년 3월까지 solved.ac class 문제 다 풀고 싶당 문제 내용 두 수가 주어졌을 때 이항계수를 구하는 문제이다. 이항계수란 전체 n개의 항중 k개를 고르는 경우의 수를 의미한다. 이항계수 식만 알면 쉽게 구현할 수 있다. 💔 try1. failed! 나레기 이항계수 어케구하는지 모름,,, # 111050: 이항계수 구하기 n, k = map(int,..
[1181 | python] 단어 정렬 [1181 | python] 단어 정렬 🎉조건 알파벳 소문자로 이루어진 N개의 단어가 들어오면 정렬하는 프로그램을 작성하기 1. 길이가 짧은 단어 우선 2. 길이가 같은 경우 사전 순으로(abc...) 단 중복된 단어는 제거 🎉접근방식 먼저 N만큼 단어를 입력받고 리스트에 저장 set을 통해 중복 제거 길이에 따라 정렬. 이때 길이가 같은 경우 알파벳순으로 정렬 정리한 리스트 리턴 🎉 Solution # 1181 N = int(input()) word_list = [] for _ in range(N): word = input() word_list.append(word) word_list = list(set(word_list)) #1 word_list.sort() #2 word_list.sort(key=l..
에자일(Agile) 방식 에자일(Agile) 방식 등장 배경 초기 소프트웨어 개발 방법은 계획 중심의 프로세스로 진행되었으나 90년대 이후 소프트웨어 분야가 넓어지면서 소프트웨어 사용자들이 일반 대중들로 바뀌기 시작하고, 소프트웨어 트랜드 또한 급격히 변화하면서 비즈니스 사이클이 짧아지고 SW개발의 불확실성이 높아지게 되었다. 이러한 상황에 따라 기존 계획 중심의 프로세스 방식을 개발 과정에 적용하는 것이 어려워졌고 이에 따라 새로운 SW 개발방법인 에자일 방식이 등장하였다, 애자일이란? 개발 과정에서의 협력과 피드백을 더 자주, 일찍, 잘 하는 것이다. 1. 협력 소프트웨어를 개발하는 사람들 간의 협력 스스로 느낀 통찰을 협력을 통해 타인에게 전달 예상치 못한 팀의 기대 효과를 가져옴 2. 피드백 학습의 가장 큰 전제조건. 내..
[1259 | Python] 팰린드롬수 [1259 | Python] 팰린드롬수 🎉문제 총평 흑흑 쉬운데 어려워 일주일 쉬었더니 뇌가 굳은것같다 더 정진할것 🎉조건 앞부터 읽어도, 뒤부터 읽어도 똑같은 숫자를 팰린드롬수라고 한다. 여러개의 숫자 입력시 각 수가 팰린드롬수인지 판단하자. 팰린드롬수인 경우 yes를, 아닌 경우 no를 출력하라. 🎉접근방식 처음에 인덱싱을 사용하려다가 실패해서 reverse 함수로 접근. reverse 함수만 사용하면 쉽게 뒤집을 수 있다고 생각했는데 reverse를 사용하니 str이나 int가 아니라 reverse 형태였다. 그래서 추가적으로 list()랑 join을 사용해야 했다. 🎉try1: 틀렸습니다! # 1259 num1 = input() num_list = list(reversed(num1)) # num1..
[Software Engineering] TDD(Test Driven Development) [Software Engineering] TDD(Test Driven Development) 테스트 주도 개발을 의미 프로그램 개발에 있어 디자인 > 코드개발 > 테스트 라는 기존의 과정과 다르게, 테스트 케이스를 먼저 작성한 후 실제 코드를 개발하는 리팩토링 절차를 거침 TDD의 장점 반복적인 검토를 통해 고품질의 소프트웨어를 만들 수 있다. 작업과 동시에 테스트를 진행하며 실시간으로 오류 파악이 가능하다 짧은 개발주기로 고객의 요구사항에 빠르게 대응할 수 있다 자동화 도구를 사용해 TDD 테스트 케이스를 단위 테스트로 활용할 수 있다. 단위 테스트: 소프트웨어 개발에서 개별적인 코드 단위를 테스트하는 작업 자동화 도구를 활용해 TDD테스트케이스를 쉽게 실행하고 결과를 확인할 수 있으며, 코드 변경시 ..
[2566 | Python] 최댓값 🎉문제 총평 ez~ 옛날이었으면 이정도에도 어버버 했을텐데! 그래도 성장하긴 했던거구나 나자신...기특해... 🎉조건 🎉접근방식 for문을 사용해서 9*9 행렬을 제작한다 for문에서 각각의 요소들의 최댓값을 비교한다? 🎉try1: solved!😍 # 2566 lst = [] max_value = 0 # 행마다 입력하고 각 행의 최댓값을 찾음 for i in range(9): new_list = list(map(int, input().split())) new_max = max(new_list) # 기존의 최댓값보다 새로운 행의 최댓값이 더 큰 값일경우 값을 변경 if max_value
[2475, 2920, 10172 | python] 검증수, 음계, 개 🎉문제 총평 solved.ac에서 가장 기본적인 class1을 통과하기 위해 남은 마지막 3문제! [2475] 검증수 주어진 5개의 숫자들을 각각 제곱하고 합한 뒤 10으로 나눈 나머지를 출력한다. try1: runtime error! import numpy nums = map(int, input().split()) sqrt_nums = np.sqrt(nums) sum_sqrt = np.sum(sqrt_nums) print(sum_sqrt//10) numpy를 np로 정의하지 않음 nums가 리스트가 아니었다?! try2: 런타임 에러! 위에서 문제라고 생각한 부분들을 고쳤는데도 여전히 런타임 에러가 나왔다. import numpy as np nums = list(map(int, input().split..

반응형