본문 바로가기

취준생341

[Python] 백준 12931 두 배 더하기 🧑‍💻 [Python] 백준 12931 두 배 더하기 Gold 5 - 그리디 제일 중요하게 생각해야 하는 것은 B에서 배열 A를 만드는 것이다 즉 B에 있는 원소들을 다 0으로 만들어야 하는 것 즉 B에서 값 하나씩 1을 빼는 것 그리고 B에서 모든 값을 2로 나눠서 0을 만드는 것으로 반대로 생각하면 된다 문제풀이 최소를 구하는 것이니깐 모든 값을 2로 나누는 것을 먼저 생각한다 for문을 통해, 모든 숫자가 숫자 % 2 == 0 로 떨어지면, count에 1을 더한다 그리고 for문을 순회할 때에, 각 숫자들을 2로 나눈 것을 temp 리스트에 넣는다 그리고 만약에 for문을 아무 문제 없이 순회를 했다면, temp리스트를 B로 업데이트 한다 반대로 위에서 for문을 통해 순회를 했는데, 홀수를 구한.. 2023. 2. 1.
Udemy : 파이썬 smtplib & datetime Udemy : 파이썬 smtplib & datetime 이메일을 보내는 라이브러리와 시간 모듈을 사용하는 이메일? Sender가 이메일을 보내게 되면, Gmail Mail 서버에서 Sender의 이메일을 받게 된다 Gmail Mail 서버에서, 수신자의 이메일의 서버로, 해당 이메일을 보낸다. (여기서는 Naver Mail 서버로) 그리고 Naver Mail 서버에서는, 수신자의 컴퓨터로 이메일을 보낸다 그리고 수신자가 컴퓨터를 키고, 이메일을 볼 수 있다 그리고 이 과정을 SMTP을 통해 진행한다 SMTP (Simple Mail Transfer Protocol) 이메일을 보낼 때에, 메일 서버가 이메일을 받고, 다음 메일 서버에게 전달하고, 최종 목적지까지 도달하는 과정의 규칙이다 import smtp.. 2023. 1. 31.
Udemy : 파이썬 플래시 카드 앱 만들기 Udemy : 파이썬 플래시 카드 앱 만들기 불어 단어가 주어지면, 그 뜻을 맞춰보는 것이다 한 단어 당 3초가 주어진다 3초 후, 영어로 정답이 나온다 그리고 맞췄으면 체크를, 못 맞췄으면 엑스를 누르면 된다 체크를 눌렀을 때에는, 단어 리스트에서, 해당 단어를 빼준다 from tkinter import * import pandas import random BACKGROUND_COLOR = "#B1DDC6" current_card = {} words_list = {} # ------------------ random words --------------------- try: words = pandas.read_csv("words_to_learn.csv") except FileNotFoundError: .. 2023. 1. 30.
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.
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.
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.