본문 바로가기

분류 전체보기383

Udemy : 파이썬 오류, 예외, JSON데이터 Udemy : 파이썬 오류, 예외, JSON데이터 Catching Execptions 에러가 발생할 때에, 특정한 에러 때문에 멈추지 않고, 코드를 계속 진행하게 만들 수 있는 것 또는 에러가 발생하면, 다른 일이 벌어질 수 있도록 만들기 try Somthing that might cause an exception except Do this if there was an exception 내가 원했던 대로, 코드가 실행이 안 되면, except를 통해 다른 코드를 실행하는 except만 쓰게 되면, try에서 실행했던 코드들이 에러에 의해 실행을 중단한다 except와 에러 내용을 쓰면, 특정 에러에 대한 코드만 except에서 잡고, 그 외에는 에러가 없으면 실행을 하게 된다. else Do this i.. 2023. 1. 29.
[Python] 백준 2212 센서 feat. Shark_상어 https://wlgustlra.tistory.com/ 🧑‍💻 [Python] 백준 2212 센서 Gold 5 - 그리디 문제풀이 센서들을 내림차순으로 정렬을 한다 그리고 센서들 사이의 거리를 계산해서 새로운 리스트에 넣는다 그 리스트를 오름차순으로 정렬을 하고, 세울 수 있는 집중국에서 1을 뺀만큼, 리스트에서 거리를 빼준다 거리를 빼면, 해당 센서는, 자기 자신만의 집중국을 가지는 것이 코드 censor_num = int(input()) center_num = int(input()) censors = list(map(int, input().split())) censors.sort(reverse=True) # 설치할 수 있는 집중국이 센서보다 많거나, 같으면, # 각 센서에게 집중국을 설치하면 된다 i.. 2023. 1. 29.
[Python] 백준 1783 병든 나이트 🧑‍💻 [Python] 백준 1783 병든 나이트 Silver 3 - 그리디 나이트는 무조건 오른쪽으로 움직이는 것을 핵심적으로 생각하면 된다 즉 if문에는 1번부터 4번까지 한번씩 사용을 못 하는 경우들을 넣는다 문제풀이 위의 내용을 if문을 통해 해결을 하면 된다 코드 import math N, M = map(int, input().split()) if N == 1: print(1) elif N == 2: print(min(4, int(math.ceil(M/2)))) elif M 2023. 1. 29.
Udemy : Tkinter로 패스워드 매니저 GUI 만들기 Udemy : Tkinter로 패스워드 매니저 GUI 만들기 패스워드 매니저를 실행하면 자주 사용하는 Email/Username이 미리 입력이 되어 있다 그리고 클릭 없이 바로 쓸 수 있게, 실행하면 Website 입력창이 미리 클릭되어 있다 Generate Password를 누르면 무작위 비밀번호를 만들어 준다 Add를 누르면, data.txt에 사이트 이름, Email/Username 그리고 비밀번호가 저장이 된다 .focus() 입력해야 하는 란을, 실행하자마자 미리 클릭 해두는 곳 그렇게 하면, 따로 클릭하지 않아도, 바로 글을 작성할 수 있다 .grid(columnspan) columnspan은 행을 합병할 때에 사용한다 .insert() 미리 값을 적어 두는 것. 예시로 밑에 Password .. 2023. 1. 28.
[Python] 백준 1026 보물 🧑‍💻 [Python] 백준 1026 보물 Silver 4 - 그리디 A는 재배열이 가능하고, B는 재배열을 하면 안 된다고 하지만, 둘 다 정렬을 해야 한다 A는 오름차 순으로, B는 내림차 순으로 정렬을 해야 한다 문제풀이 A는 오름차순으로 B는 내림차순으로 정렬을 한다 즉 나중에 같은 인덱스끼리 곱할 때, A의 작은 수는 B의 큰 수와 곱한다 그리고 그것을 나중에 다 더하면 최소 값이 된다 코드 N = int(input()) A = list(map(int, input().split())) B = list(map(int, input().split())) A.sort() B.sort(key=lambda x: -x) answer = 0 for i in range(N): answer += A[i] * B[.. 2023. 1. 27.
Udemy - Javascript - Merge Sort Udemy - Javascript - Merge Sort 정렬이란? 데이터가 있으면, 데이터를 숫자 또는 단어별로 오름차순 또는 내림차순으로 나열하는 것이다 정렬을 하는 방법은 다양하다. 정렬하는 방법마다, 정렬을 하는 시간은 다르다 버블, 선택, 삽입 정렬들은 숫자가 계속 늘어날 수록, 속도가 느려진다 반대로 합병 정렬, 퀵 정렬, 지수 정렬은 위의 3개보다 더 빠르다 합병 정렬 두 배열 합병하기 function mergeSort(array1, array2) { let i = 0 let j = 0 let newArray = [] while (i < array1.length && j < array2.length) { if (array1[i] < array2[j]) { newArray.push(array1.. 2023. 1. 27.
Udemy : Tkinter, 동적 프로그램 Udemy : Tkinter, 동적 프로그램 Canvas Widget 이미지 위에 이미지/ 글 넣기 canvas의 x, y 기준은, canvas 변수명을 주었을 때 설정했던 width와 height 기준이다 추가로, window.config()와 Canvas() 에 bg= 를 넣어서 배경 색깔을 바꿀 수 있다 Canvas(highlightthickness=0)으로 만들어야, border가 안 나온다 동적 타이핑 예) 숫자를 문자열로 바꿔서 사용 위에 토마토를 보면, 10 아래로 떨어지면 한 자리 수만 보여준다 원래 시간은 00, 01, 02 이런 식으로 보이는 것이 익숙하다 # ---------------------------- TIMER MECHANISM --------------------------.. 2023. 1. 27.
Udemy : Tkinter, *args, **kwargs 및 GUI Udemy : Tkinter, args, *kwargs 및 GUI Argument with Default Values def my_function(a, b, c): # Do this with a # Then do this with b # Finally do this with c my_function(c=3, a=1, b=2) my_function() 안에, a, b, c의 값들을 넣어서 함수를 실행했다 하지만 함수를 만들 때에, 미리 기본 값을 설정해서, 함수를 바로 실행할 수 있다 def my_function(a=1, b=2, c=3): # Do this with a # Then do this with b # Finally do this with c #--- 기본 값을 가지고 함수 작동 --- my_f.. 2023. 1. 26.
[Python] 백준 1339 단어 수학 🧑‍💻 [Python] 백준 1339 단어 수학 Gold 4 - 그리디 문자열들이 주어진다 문자열들의 알파벳에 숫자를 배정해서, 더해서 최대 수를 만드는 것이다 A에 9를 배정했으면, 모든 문자열에 A가 들어가 있으면, 그 A들은 9이다 문제풀이 문자열을 어떻게 딕셔너리에 넣어서, 어떻게 숫자를 배정할지 많이 고민을 했다 알파벳들이 십의 몇번째 자리인지 찾고, 그 자리에 따라서 내림차순으로 9부터 배정하는 것이다 각 단어들의 알파벳들을 딕셔너리에 넣는다 여기서 10 ** (times - 1)을 하여서, 해당 알파벳이 몇 번째 자리인지 value로 넣는다 그리고 다 구했으면 딕셔너리의 값들을 리스트로 변환해서, 내림차순으로 정렬을 한다 정렬한 리스트를 순회하면서 9부터 내려가면서 곱해주고, result에 .. 2023. 1. 26.