본문 바로가기

전체 글92

백준 2108. 통계학 def heapify(lst, idx, n): s_idx = idx l = idx * 2 r = idx * 2 + 1 if l lst[l]: s_idx = l if r lst[r]: s_idx = r if s_idx != idx: lst[s_idx], lst[idx] = lst[idx], lst[s_idx] return heapify(lst, s_idx, n) def heap_sort(lst): n = len(lst) lst = [0] + lst for i in range(n, 0, -1): heapify(lst, i, n) arr = [] for i in range(n, 0, -1): arr.append(lst[1]) lst[1], lst[i] = lst[i], lst[1] heapify(lst, 1,.. 2022. 6. 7.
백준 2750. 수 정렬하기1 https://www.acmicpc.net/problem/2750 시간 제한이 꽤 널널해서 복잡한 정렬을 사용할 필요 없이, 복잡도가 O(n^2)인 버블 정렬이나 삽입 정렬로 풀 수 있다. 개인적으로 버블 소트가 쉬워서 우선 버블 소트에 대한 Pseudo code를 작성하면 for (i=0; i array[j + 1]): array[j], array[j + 1] = array[j + 1], array[j] 가 된다. 최종 코드는 n = int(input()) lst=[] for i in range(n): lst.append(int(input())) for i in range(n): for j in range(n - i - 1): if lst[j] > lst[j + 1]: lst[j], lst[j + 1].. 2022. 6. 7.
[Javascript] 자바스크립트로 아이스하키 경기 슈팅 기록 사이트 만들기 운동을 그만둔 지도 어연 1년이 다 지나가는데, 이번에 대회를 한다길래 그냥 구경하러 갔다. 그런데 옆에 형들이 우리팀 누가 슛을 몇피에 쏘는지 수기로 기록하고 있더라. 저렇게 제출된 정보를 취합해서 경기 기록지를 만든다. 그런데 뭔가 프로그램 비스무리하게 만들어보면 저거보다 편하게 슛을 기록하고, 데이터를 시각화하면 효용성도 더 좋아질 것 같다는 생각이 들었다! 귀찮아서 그렇지.. 그렇게 갑자기 열렬하게 몰입하게 된 프로젝트. 니즈를 파악해보자. 1. 수기로 기록하는 게 귀찮다! 편하게 기록하고, 그에 대한 데이터를 처리할 수 있으면 좋겠다! 2. 그렇다면 드래그 앤 드롭 방식으로 만들면 자세한 값을 입력하는 것보다 훨씬 쉽지 않을까?? 3. 실용성이 있으면 좋겠는데.. 아무래도 자바나 파이썬을 이용해.. 2022. 6. 7.
[JAVA] 백준 자바 서식, 제출방법 처음으로 백준에서 자바로 문제를 풀 때, 코드가 동작하기도 전에 컴파일 에러가 떠서 꽤나 골머리를 앓았던 기억이 난다. 따로 서식이나 폼이 있다는 사실을 몰랐던.. 그런 시절도 있었지... 방법은 쉽다. 그냥 간단하게 메인 클래스의 이름을 Main으로 해주면 된다. public class Main{ public static void main(String[] args){ System.out.println("Hello world"); } } 이런 식으로! 우리 컴퓨터에서는 자바가 파일명과 같은 class로 컴파일되고 그 클래스를 실행하는 것이기 때문에 메인 클래스명이 파일명과 같아야 하지만, 백준의 채점에서는 그 클래스의 이름을 Main으로 정해준 듯. 2021. 10. 13.