💻Develop

💻Develop/💡Algorithm

#2231 분해합

문제 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 풀이 1차 시도 in_data = int(input()) start = int(in_data/2) if(start == 0 or in_data in_data + ..

💻Develop/💡Algorithm

#8958 OX퀴즈

문제 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 풀이 limit = int(input()) result = [] for x in range(limit): answer_list = input() score = 0 total = 0 for a in answer_list: if(a == 'O'): score += 1 total += score else: score = 0 result.append(total) print('\n'.join((str(e) for e in result))) 이 문..

💻Develop/💡Algorithm

🌱#2753 윤년

문제 2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 www.acmicpc.net 풀이 year = int(input()) if ((year % 4 == 0 and year % 100 != 0) or year % 400 == 0 ): print(1) else : print(0) 문제를 그대로 조건화 해서 작성하면 위 코드와 같다. 4의 배수 이면서(and) 100의 배수가 아닐 때 또는(or) 400의 배수일 때 각각의 조건을 분리한다면 A 조건과 B 조건이 나온다. A 조건 : 4의 배수 이면서 100의 배수가 아닌 것 B 조..

💻Develop/💡Algorithm

🌱#14681 사분면 고르기

문제 흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제n사분면"이라는 뜻이다. 예를 들어, 좌표가 (12, 5)인 점 A는 x좌표와 y좌표가 모두 양수이므로 제1사분면에 속한다. 점 B는 x좌표가 음수이고 y좌표가 양수이므로 제2사분면에 속한다. 점의 좌표를 입력받아 그 점이 어느 사분면에 속하는지 알아내는 프로그램을 작성하시오. 단, x좌표와 y좌표는 모두 양수나 음수라고 가정한다. 풀이 Python x = int(input()) y = int(input()) if(x * y > 0): if(x > 0): print(1) else: print(3) else: if(x > 0): print(..

💻Develop/💡Algorithm

🌱#7287 등록

문제 자신이 백준 온라인 저지(BOJ)에서 맞은 문제의 수와 아이디를 그대로 출력하는 프로그램을 작성하시오. 첫 줄에 자신이 맞은 문제의 수, 둘째 줄에 아이디를 출력한다. Python print(f'{solved}\n{user}') Javascript console.log(`${solved}\n${user}`); 삽질 이 문제의 경우 단순한 출력을 위한 문제이기 때문에 별다른 코멘트가 없다. 처음에는 웹 페이지 파싱을 이용해서 얻는 문제인 줄 알고 시도했지만 계속 런타임 에러나 not found module이 계속 발생했다. 이것 저것 써보다가 안되겠다 싶어 구글링을 해보니 단순히 자신의 정보를 확인해서 적는 문제였다. 문제 난이도가 낮은 이유가 있었구나 싶었는데 이렇게 끝내는건 아쉬워 삽질한 코드를 ..

💻Develop/💡Algorithm

🌱#10699 오늘 날짜

문제 서울의 오늘 날짜를 출력하는 프로그램을 작성하시오. "YYYY-MM-DD" 형식으로 출력한다. Python from datetime import datetime, timedelta now = datetime.now() + timedelta(hours=9) print(now.strftime("%Y-%m-%d")) now = datetime.now() + timedelta(hours=9) timedelta(hours)를 통해 utc 보다 9시간 빠른 한국의 시간을 지정해준다. print(now.strftime("%Y-%m-%d")) datetime의 strftime 메서드를 사용해 날짜 형식을 지정하는 방법을 사용한다. strftime 문서를 참고하면 원하는 형식으로 쉽게 형식을 지정할 수 있다. No..

💻Develop/🛝Kubeflow

[Kubeflow] Component 사용해보기

더보기 2023.04.17 - [💻Develop/🗂️ETC] - [Kubeflow] Pipeline Volume 사용하기 2023.04.20 - [💻Develop/🗂️ETC] - [Kubeflow] Pipeline 단순 입출력 그리고 패키지 설치 Component? 이전에는 Function을 만들어서 Pipeline에 사용하는 방법과 Volume을 연결하는 방법에 대해 간단하게 적어봤다. 직접 함수를 만들어 사용하는 방법은 간단한 동작이나 잠깐 사용하고 다시 사용할일이 없으면 상관 없으나, 보통 그렇지 않아 불편을 유발한다. 이러한 점을 해결하기 위한 Component 방식으로 Pipeline을 구축할 경우 코드의 재사용성과 모듈성이 향상된다. 독립적인 작업 단위로 설계되어 다른 파이프라인에서 모듈처럼 ..

💻Develop/🐍Python

Traceback 가독성 높이기

Traceback Traceback은 예외가 발생한 후의 오류 추적 정보를 보여준다. 오류가 발생한 위치에서부터 호출 스택의 역추적 정보를 보여주는데, 일반적으로 Traceback은 오류 메시지와 함께 출력되며, 프로그램의 실행 중 발생한 예외 상황을 이해하고 디버깅하는 데 도움을 준다. Traceback에는 오류가 발생한 파일명, 줄 번호, 호출된 함수 또는 메서드의 스택 정보가 포함되는데, 이 정보는 프로그램의 실행 흐름을 따라가며 어떤 함수 또는 메서드에서 오류가 발생했는지를 알려준다. 때문에 예상치 못한 오류가 발생한 코드의 위치를 파악하고 수정하는 데 유용하다. 문제는 이게 짧을 수 있지만, 여러 함수를 거치는 경우 전부 보여주기 때문에 로그 화면을 가득 채울때가 있다. 이 때 뭐가 문제인지 확..