본문 바로가기

분류 전체보기383

[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.
[Python] 백준 1138 한 줄로 서기 🧑‍💻 [Python] 백준 1138 한 줄로 서기 Gold 4 - 그리디 입력값은 서있는 사람의 기준으로 왼쪽에, 자신보다 키가 큰 사람의 숫자를 의미한다 예) 키가 1인 사람 왼쪽에는 자신보다 큰 사람이 6명이 있다 문제풀이 result의 0의 개수를 세면서, index + 1 즉 키를 넣어주면 된다 코드 N = int(input()) result = [0] * N for index, num in enumerate(list(map(int, input().split()))): cnt = 0 i = 0 while True: if result[i] == 0 and cnt == num: result[i] = index + 1 break elif result[i] == 0: cnt += 1 i += 1 pri.. 2023. 1. 25.
Udemy - Javascript - 삽입 정렬 Udemy - Javascript - 삽입 정렬 정렬이란? 데이터가 있으면, 데이터를 숫자 또는 단어별로 오름차순 또는 내림차순으로 나열하는 것이다 정렬을 하는 방법은 다양하다. 정렬하는 방법마다, 정렬을 하는 시간은 다르다 삽입 정렬 앞에 숫자보다 작으면 앞에 숫자가 더 크거나 같을 때까지 바꿔준다 실시간으로 숫자가 입력될 때 좋다 내가 짠 삽입 정렬 코드 function insertionSort(array) { for (let i = 1; i < array.length; i ++) { while (array[i] < array[i - 1]) { temp = array[i] array[i] = array[i - 1] array[i - 1] = temp i -- } } return array } whil.. 2023. 1. 25.
Udemy : Python 리스트와 딕셔너리 컴프리헨션 Udemy : Python 리스트와 딕셔너리 컴프리헨션 리스트 컴프리헨션 (List Comprehension) 원래 사용했던 코드 numbers = [1,2,3] new_list = [] for n in numbers: add_1 = n + 1 new_list.append(add_1) print(new_list) # output : [2,3,4] 리스트 컴프리헨션 new_list = [new_item for item in list] numbers = [1,2,3] new_list = [n + 1 for n in numbers] print(new_list) # output : [2,3,4] if문 추가하기 new_list = [new_item for item in list if test] 뒤에다가 if문을.. 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.
[Python] 백준 7662 이중 우선순위 큐 🧑‍💻 [Python] 백준 7662 이중 우선순위 큐 Gold 4 - Heapq 최소 힙과, 최대 힙을 사용하는 문제이다 두 개의 힙을 사용하면서, 숫자 관련된 참/거짓의 여부도 파악해야 한다 처음에는 두 힙에 숫자 하나가 모두 들어간다 그리고 숫자를 하나씩 뺄 때에는, 하나의 힙에는 그 숫자가 남게 된다 True의 경우는, 두 개의 힙에 동일한 숫자가 있을 경우를 True로 넣는다 I 는 힙에 숫자를 넣는 것 / D 1 최대 힙에서 숫자를 하나 빼는 것 / D -1 최소 힙에서 숫자를 하나 빼는 것 문제풀이 명령어 I 또는 D를 제일 먼저 확인 한다 I일 경우, 최대 힙과, 최소 힙에 숫자와 인덱스를 튜플로 넣는다 숫자 : 최대 힙과 최소 힙에서, 숫자들끼리 비교를 해야 함 인덱스 : True/Fal.. 2023. 1. 23.
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 - Javascript - 정렬 Udemy - Javascript - 정렬 정렬이란? 데이터가 있으면, 데이터를 숫자 또는 단어별로 오름차순 또는 내림차순으로 나열하는 것이다 정렬을 하는 방법은 다양하다. 정렬하는 방법마다, 정렬을 하는 시간은 다르다 자바스크립트 기본 내장 정렬 .sort()는 기본적으로 string 기준으로 정렬을 한다 function numberCompare(num1, num2) { return num1 - num2; } array.sort(numberCompare) num1 - num2를 해서 값이 음수가 나오면 num1은 num2보다 앞에 와야 한다 (더 숫자가 작다는 것) 양수가 나오면 num1은 num2 보다 커서 뒤에 나와야 한다 num2 - num1 을 하게 되면 내림차순으로 계산이 된다 버블 정렬 연속.. 2023. 1. 23.