Stay Hungry Stay Foolish

전체 글 430

[자바 중급] 09. 예외 처리 1

예외 처리가 필요한 이유외부 서버와 통신할 때 다음과 같은 다양한 문제들이 발생할 수 있다.네트워크 오류 등으로 인해 외부 서버와 연결에 실패데이터 전송에 문제가 발생 자바의 예외 처리 메커니즘 제공자바는 프로그램 실행 중에 발생할 수 있는 예상치 못한 상황, 즉 예외(Exception)를 처리하기 위한 메커니즘을 제공한다. 이는 프로그램의 안정성과 신뢰성을 높이는 데 중요한 역할을 한다.  자바의 예외 처리는 다음 키워드를 사용한다. 그리고 예외를 다루기 위한 예외 처리용 객체들을 제공한다. trycatchfinallythrowthrows 예외 계층 구조  Exception : 체크 예외애플리케이션 로직에서 사용할 수 있는 실질적인 최상위 예외이다.Exception과 그 하위 예외는 모두 컴파일러가 체..

[TIL] 2024년 10월 20일

파이썬합계 함수 sum() 리스트, 튜플, 또는 다른 iterable의 모든 요소를 더한 합계를 반환하는 함수이다. 주로 숫자들이 들어 있는 리스트나 튜플의 합계를 구할 때 사용된다. 기본 사용법numbers = [1, 2, 3, 4, 5]total = sum(numbers)print(total) # 출력: 15sum(numbers)는 리스트 numbers에 있는 요소들을 모두 더해 합계인 15를 반환 구문sum(iterable, start=0)iterable: 리스트, 튜플 등의 반복 가능한 객체start: 합계를 계산할 때 기본값으로 더해질 숫자이다. 기본값은 0이며, 지정하지 않으면 합계에 영향을 주지 않는다. start 인자를 사용하는 예시numbers = [1, 2, 3]total = sum(..

TIL 2024.10.20

[SWEA] 1289. 원재의 메모리 복구하기 (Python/D3)

[문제 링크] 👇 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 풀이입력이 100이라고 할 때, i = 1i = 0i = 0현재 bit = 0bit와 i가 다르므로 bit를 1로 변경현재 bit = 1bit와 i가 다르므로 bit를 0으로 변경현재 bit = 0bit와 i가 같으므로 그대로현재 bit = 0  Solutiontest_case = int(input())for tc in range(1, test_case + 1): memory = list(map(int, input())) result = 0 bit = 0 for i in memory: if bit != i: ..

SWEA 2024.10.20

[SWEA] 10570. 제곱 팰린드롬 수 (Python/D3)

[문제 링크] 👇 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 풀이정수 뒤집는 방법reversed_num = int(str(num)[::-1])정수를 str 형으로 변환하고 슬라이싱 한다. 슬라이싱 하는 방법은 [시작:끝:조건] 을 명시하면 된다.조건에 -1이 들어가면 맨 뒤에서부터 맨 앞 글자까지 거꾸로 문자열을 슬라이싱 한다는 뜻이다.뒤집은 문자열을 다시 int형으로 변환한다. 제곱근 구하는 방법import mathsqrt_num = math.sqrt(num)math 라이브러리에 sqrt 함수가 존재한다. 이는 제곱근 함수이다.float형으로 반환한다.굳이 함수를 쓰지 않아도 제곱을 통해 제곱근을 구해도 ..

SWEA 2024.10.20

[SWEA] 11688. Calkin-Wilf tree 1 (Python/D3)

[문제 링크] 👇 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com Calkin-Wilf Tree Calkin-Wilf Tree는 모든 양의 유리수를 중복 없이 포함하는 이진 트리이다. 트리의 각 노드는 부모 노드의 분수 ab\frac{a}{b}ba​를 기준으로 왼쪽 자식은 aa+b\frac{a}{a+b}a+ba​, 오른쪽 자식은 a+bb\frac{a+b}{b}ba+b​ 형태로 생성된다. 이를 통해 유리수를 순서대로 탐색할 수 있다. 풀이입력이 LRL 이라고 하자. 그럼 다음 그림과 같다. 따라서 문자가 L이면 Right 값에 L 값을 더해 누적하고, R이면 Left 값에 R 값을 더해 누적시킨다.마지막으로 Lef..

SWEA 2024.10.20

[SWEA] 4406. 모음이 보이지 않는 사람 (Python/D3)

[문제 링크] 👇 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 풀이모음을 리스트에 따로 저장vowel = ["a", "e", "i", "o", "u"] for문에서 문자를 하나씩 꺼내어 모음 리스트에 해당 문자가 없으면 결과에 담는다. if i not in vowel:   ※ 앞 뒤 개행문자 제거 - strip()word = input().strip() 앞 쪽만 제거하고 싶으면 - lstrip() : left strip이라고 생각하면 된다.뒤 쪽만 제거하고 싶으면 - rstrip() : righr strip이라고 생각하면 된다. Solutiontest_case = int(input())for tc in ran..

SWEA 2024.10.20

[SWEA] 12221. 구구단2 (Python/D3)

[문제 링크] 👇 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 풀이두 정수 중 하나라도 10 이상의 수가 존재하면 -1을 출력한다.그렇지 않으면 두 수를 곱한다.  Solutiontest_case = int(input())for tc in range(1, test_case + 1): a, b = map(int, input().split()) result = 0 if a >= 10 or b >= 10: result = -1 else: result = a * b print("#%d %d" % (tc, result))

SWEA 2024.10.20

[SWEA] 10505. 소득불균형 (Python/D3)

[문제 링크] 👇 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com  풀이합계를 사람 수 N으로 나눈 뒤 평균을 구한다.소득이 담긴 리스트에서 하나씩 꺼내어 평균 이하인지 확인한다.   합계 함수 sum() 이용리스트, 튜플, 또는 다른 iterable의 모든 요소를 더한 합계를 반환하는 함수이다. 주로 숫자들이 들어 있는 리스트나 튜플의 합계를 구할 때 사용된다.  기본 사용법numbers = [1, 2, 3, 4, 5]total = sum(numbers)print(total) # 출력: 15sum(numbers)는 리스트 numbers에 있는 요소들을 모두 더해 합계인 15를 반환 구문sum(iterable,..

SWEA 2024.10.20

[TIL] 2024년 10월 19일

리스트에 특정 값이 있는지 체크하는 방법if i in nums:nums 리스트에 특정 값 i 가 있으면 True 반환 리스트에 특정 값이 없는지 체크하는 방법if i not in nums:nums 리스트에 특정 값 i가 없으면 True 반환     📜 작성한 게시글[SWEA 코딩테스트 1288] 👉 https://dev-cloud.tistory.com/302 [SWEA] 1288. 새로운 불면증 치료법 (Python/D2)[문제 링크] 👇  SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 풀이0 ~ 9 까지 수가 있는지 확인하는 리스트를 생성한다. 모두 -1 로 초기dev-cloud.tistory.com

TIL 2024.10.20

[SWEA] 12368. 24시간 (Python/D3)

[문제 링크] 👇 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 풀이A 시간과 B 시간을 더한다. 더한 시간이 24시간이 넘어가면 24에서 빼준다. (A와 B의 최대는 23이므로 더해서 빼봤자 24이기 때문에 단순히 24만 뺀다.)  Solutiontest_case = int(input())for tc in range(1, test_case + 1): a, b = map(int, input().split()) result = 0 result = a + b if result >= 24: #24시간 이상이면 result -= 24 print("#%d %d" %(tc, resu..

SWEA 2024.10.20

[SWEA] 3431. 준환이의 운동관리 (Python/D3)

[문제 링크] 👇 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 풀이if - elif - else 문 이용 U분을 초과했으면 -1을 결과에 저장한다.U분을 초과하지 않고, L분 미만이면 L분에서 X분만큼 뺀다. 그럼 필요한 운동시간이 나온다.U분을 초과하지 않았고, L분 미만도 아니면, 즉 L분 이상 U분 이하라면 0을 결과에 저장한다.  Solutiontest_case = int(input())for tc in range(1, test_case + 1): l, u, x = map(int, input().split()) result = 0 if u

SWEA 2024.10.20

[SWEA] 1288. 새로운 불면증 치료법 (Python/D2)

[문제 링크] 👇  SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 풀이0 ~ 9 까지 수가 있는지 확인하는 리스트를 생성한다. 모두 -1 로 초기화한다.N의 배수를 위해 cnt 변수를 생성하고 1로 초기화한다.N의 배수를 담을 변수도 생성한다. While문에서 양 세기를 시작한다.N의 배수를 계산한다. map() 을 사용하여 정수를 분리하고 리스트에 담는다.리스트에서 정수를 하나씩 꺼내서, -1 로 초기화된 리스트에 그 정수가 없으면 리스트에 담는다.다 확인했으면 이제 -1 로 초기화된 리스트에서 0 ~ 9까지 모든 수가 있는지 체크한다.-1이 아직도 있으면 cnt 변수를 하나 증가시고, 없으면 while문을 ..

SWEA 2024.10.19

[TIL] 2024년 10월 18일

파이썬구분자 기준으로 지정sep = ''  sep='' 은 print() 함수에서 출력되는 값들 사이의 구분자를 지정할 때 사용한다. 기본적으로 print()는 여러 값을 출력할 때 공백을 구분자로 사용한다. 그러나 sep='' 를 설정하면 아무 구분자도 없이 값을 출력한다.  min, max 메서드를 이용하여 리스트의 길이를 기준으로 판별 max()와 min() 을 사용할 때 보통은 값을 넣고 비교를 한다. 리스트도 되지 않을까 하지만, 비교가 되진 않는다. 두 리스트 중에 개수가 더 많은 리스트를 구별하고자 할 때 min()과 max() 함수는 적합하지 않다. min()과 max()는 리스트의 값을 비교하는 데 사용되기 때문이다. 대신, 각 리스트의 길이를 비교하는 방식이 필요하다. list1 = [..

TIL 2024.10.18