본문 바로가기

취준생341

[Python] 백준 1339 단어 수학 🧑‍💻 [Python] 백준 1339 단어 수학 Gold 4 - 그리디 문자열들이 주어진다 문자열들의 알파벳에 숫자를 배정해서, 더해서 최대 수를 만드는 것이다 A에 9를 배정했으면, 모든 문자열에 A가 들어가 있으면, 그 A들은 9이다 문제풀이 문자열을 어떻게 딕셔너리에 넣어서, 어떻게 숫자를 배정할지 많이 고민을 했다 알파벳들이 십의 몇번째 자리인지 찾고, 그 자리에 따라서 내림차순으로 9부터 배정하는 것이다 각 단어들의 알파벳들을 딕셔너리에 넣는다 여기서 10 ** (times - 1)을 하여서, 해당 알파벳이 몇 번째 자리인지 value로 넣는다 그리고 다 구했으면 딕셔너리의 값들을 리스트로 변환해서, 내림차순으로 정렬을 한다 정렬한 리스트를 순회하면서 9부터 내려가면서 곱해주고, result에 .. 2023. 1. 26.
[Python] 백준 1439 뒤집기 🧑‍💻 [Python] 백준 1439 뒤집기 Gold 5 - 그리디 문자열은 0과 1 밖에 없다 연속된 숫자들을 뒤집는 것이고, 최소한으로 뒤집는 것이 목표 즉 0000011111000001100 은 01010 과 똑같다 문제풀이 (처음 풀이, 틀림) one , zero라는 변수를 만들어 0으로 초기화 시켰다 문자열을 순회하며, 문자열이 바뀔 때 마다, 1이면 one에 1을 더하고, 0이면 zero에 1을 더했다 경우의 수 one이 0이고, zero가 0일 때에, 숫자를 뒤집지 않아도 되서 0을 출력 one만 0이면 zero 값인 1을 출력 zero만 0이면, one 값인 1을 출력 zero와 one이 0이 아니면, 둘 중에 작은 것을 출력 문제풀이 (두번째) 000001110000110110 은 010.. 2023. 1. 25.
Udemy : Python CSV 데이터와 Pandas Udemy : Python CSV 데이터와 Pandas CSV (Comma Separated Values) 표로 나타낼 수 있는 데이터들을 뜻한다 엑셀 같이 각 열은 데이터를 뜻 하는데, , 를 통해서 데이터를 나눈다 CSV 데이터 읽기 csv 라이브러리를 import 한다 csv.reader()를 사용해서, 각 열의 데이터를 가지고 온다 for문으로 순회를 하며, 각 열의 데이터를 볼 수 있다 , csv.reader()를 사용해서 데이터를 끌어왔을 때 그 밑에는 for문으로 을 순회하며, 각 열의 데이터를 출력한 것이다 Pandas https://pandas.pydata.org/docs/reference/index.html 파이썬 데이터 분석 라이브러리다 표로 나타난 데이터들을 분석하는데 매우 유용하다.. 2023. 1. 25.
Udemy - Javascript - 선택 정렬 Udemy - Javascript - 선택 정렬 정렬이란? 데이터가 있으면, 데이터를 숫자 또는 단어별로 오름차순 또는 내림차순으로 나열하는 것이다 정렬을 하는 방법은 다양하다. 정렬하는 방법마다, 정렬을 하는 시간은 다르다 선택 정렬 버블 정렬과 비슷하다 버블 정렬은 뒤에서 부터 큰 숫자를 나열했으면, 선택 정렬을 작은 숫자를 앞에 나열한다 function selectionSort(array) { for (let i = 0 ; i array[j]) { small = j } } // i가 제일 작은 숫자일 경우.. 2023. 1. 24.
Udemy : Python 파일과 디렉토리(경로) Udemy : Python 파일과 디렉토리(경로) 파일 (Files) 파이썬을 이용해서 파일을 열고, 읽고, 쓰고, 닫는 것 # 파일을 열기 file = open("my_file.txt") # 파일을 읽기 contents = file.read() print(contents) # 파일을 닫기 contents.close() open() | read() | close() 파일을 열었을 때, 기본 모드는 read이다 즉 파일에 데이터를 추가하고 싶을 때에 open("my_file.txt", mode="w") 를 해준다 모드 부분에 쓰기까지 사용할 수 있도록 했다 단, read()가 안 된다 하나 씩 사용할 때에는, 꼭 파일을 닫아야 한다 open() 모드 mode = "r" : 파일을 읽는 것 (데이터를 추가할.. 2023. 1. 23.
Udemy : 파이썬 거북이 크로싱 프로젝트 Udemy : 파이썬 거북이 크로싱 프로젝트 거북이가 자동차들을 피해서 도로를 건너는 것 거북이는 위로만 갈 수 있다 자동차는 왼쪽으로만 움직인다 자동차는 랜덤으로 생성 거북이가 도로를 건너면, 다음 레벨로 가고, 자동차 속도는 더 빨라진다 느낀 점 그 전에는 파이썬으로 숫자나 데이터만 보면서 실습을 하거나, 강의를 들었다. 그러다 보니, 생각하는 것도 배가 되고, 시각화가 잘 안 되어서 조금 힘들었다. 하지만, turtle 모듈을 이용하면서, 내 코드가 시각화가 되면서, 좀 더 재미있게 코딩을 할 수 있었던 것 같다. 특히, 전에는 class와 function이 잘 이해가 되지 않아서, 둘을 사용하는 것을 많이 자제를 했다. 아니면 장고를 할 때에는, 크게 생각을 안 하면서 사용을 했다. 하지만, 이번.. 2023. 1. 22.
Udemy : 파이썬 퐁 게임 Udemy : 퐁 게임 main.py while문을 보면, 게임에 대한 주요 동작들을 볼 수 있다 from turtle import Turtle, Screen from paddle import Paddle from ball import Ball from scoreboard import Scoreboard import time screen = Screen() screen.bgcolor("black") screen.setup(800, 600) screen.title("Pong Game") screen.tracer(0) r_paddle = Paddle((350, 0)) l_paddle = Paddle((-350, 0)) ball = Ball() score = Scoreboard() screen.listen().. 2023. 1. 21.
[Python] 백준 2109 순회강연 🧑‍💻 [Python] 백준 2109 순회강연 Gold 3 - 힙 강연을 하는데, 각 강연마다 강연료와 몇 일 안에 강연을 하는지 입력을 받는다 최대한 강연료를 많이 받을 수 있도록 코드를 짜야 한다 문제풀이 1 힙 리스트 안에, 강연료 기준으로 최대 힙으로 넣는다 즉 튜플 형태로 힘 리스트에 넣는 것 그리고 힙을 하나씩 빼면서, 강연을 해야하는 날이, False이면 True로 바꾼다 강연을 해야 하는 날이, True일 경우, 그 전날을 본다. 이것을 False를 찾을 때 까지 뒤로 탐색을 한다 만약 1일차까지 다 True일 경우는, 그 강연은 못 하는 것이다 문제풀이 2 일단 강의 날짜 기준으로 오름차순으로 정렬을 한다 그리고 강연료를 힙 안에 넣어준다 힙의 길이는 날짜와 같거나, 적어야 한다 넣었는데.. 2023. 1. 20.
Udemy : Python 에니메이션과 좌표 Udemy : Python 에니메이션과 좌표 뱀 게임 자연스럽게 에니메이션 설정하기 screen.tracer(0) screen.update() 원래는 블록 하나씩 움직이는 것이 다 보였다 하지만 블록 전체가, 하나로 움직이는 것을 보여야 한다 screen.tracer(0)를 하면 동작 전체를 안 하도록 한다 screen.update()를 하면, 하나의 for문 또는 묶여있는 동작이 실행이 되면, 한번에 동작을 블록 전체가 하나로 실행하게 보이게 된다 뱀 움직이기 for snake_num in range(len(snake) - 1, 0, -1): new_x = snake[snake_num - 1].xcor() new_y = snake[snake_num - 1].ycor() snake[snake_num].g.. 2023. 1. 20.