만족은 하되 안주하지는 말자

기록해야 기억한다

분류 전체보기 168

[python] 1138번: 한 줄로 서기

https://www.acmicpc.net/problem/1138 1138번: 한 줄로 서기 첫째 줄에 사람의 수 N이 주어진다. N은 10보다 작거나 같은 자연수이다. 둘째 줄에는 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다. i번째 수는 0보다 � www.acmicpc.net 풀이 방식 1번째 사람부터 N번째 사람까지 순서대로 자리를 채워넣는 식으로 진행한다. 6 2 3 0 0 1 0 일 경우 자리는 0 0 0 0 0 0, 총 6개의 자리다. * 1번째 사람부터 계산 1: 2 -> 0 0 1 0 0 0 2: 3 -> 0 0 1 0 2 0 3: 0 -> 3 0 1 0 2 0 4: 0 -> 3 4 1 0 2 0 5: 1 -> 3 4 1 0 2 5 6: 0 -> ..

[python] 개행/줄바꿈 없이 print 하기

python 에서의 출력함수인 print() 함수는 그냥 사용하면 줄바꿈이 발생한다. print("줄바꿈 없이") print("출력하고 싶어") 그이유는 print 함수의 파라미터 중 하나인 end 의 default 가 "\n" 이기 때문. 이 때문에 내가 출력하고자하는 내용이 끝나면 맨끝에 개행이 발생한다. 그래서 end 의 인자를 적절하게 정해주면 출력의 맨 끝을 내맘대로 할 수 있다. end 에 적절한 인자를 넘겨주자 print("줄바꿈 없이",end=' ') print("출력하고 싶어",end='') 첫 째 줄의 print 에는 ' '을, 둘쨰 줄에는 ''을 넘겨주었다. 2개의 print 문의 맨 끝에는 개행이 발생하지 않는다. 또한 첫째 줄에는 ' ' 만큼의 공백을 넣었으므로 출력에도 그대로 반..

[python] 파이썬 공백 구분해 정수 입력 받기

만약 아래의 문자열 1줄을 입력받았을 때 공백으로 구분되는 정수를 오름 차순 정렬한 배열을 출력해야 한다고 하자. input 10 5 8 2 3 arr = list(map(int,input().split())) arr.sort() print(arr) output : [2, 3, 5, 8, 10] list(map(int,input().split())) 의 작동방식 input() 으로 받은 문자열을 split() 으로 공백 단위로 쪼개 리스트로 나눈다. map 을 이용해 리스트의 모든 원소에 int() 를 적용 list 로 변환해준다. 파이썬은 input() 을 쓰다가는 입력만 받다가 시간이 초과될 수 있다. import sys arr = sys.stdin.readline().restrip() 그러니 이걸 ..

[python] 파이썬 list 2차원 초기화

1차원 리스트 초기화 arr = [] for i in range(10): if i % 2 == 0: arr.append(i) print(arr) 이 방법은 구리다. 너무 길다. 그러니까 list comprehension 을 이용한다. List comprehension arr1 = [ i for i in range(10) if i % 2 == 0] print(arr1) 그렇다면 2차원 초기화는? 위의 리스트 comprehension 이용 시 매우 효과적이다. N * M 크기 2차원 행렬을 초기화하려면 m = 3 n = 3 arr2 = [ [0] * m for _ in range(n) ] print(arr2) 결과 -> [[0, 0, 0], [0, 0, 0], [0, 0, 0]] ** 특정 크기의 2차원 리..

[python] 백준 10828번: 스택 (파이썬으로 스택 구현하기)

https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 � www.acmicpc.net C++ STL 엔 stack 이 있지만, 파이썬엔 없다. 파이썬은 list 가 stack 의 역할을 할 수 있다. 정말 강력한 언어라는게 체감이 되는 문제. 또한 파이썬엔 switch/case 가 없다고 한다. 왜냐면 그냥 if/elif 가 그 역할을 다할 수 있으니까 그런 것 같다. from sys import stdin stack = [] def push(X): stack..

[React] 함수형 컴포넌트로 리액트 표 만들기 (table)

연구실 과제의 사용자 UI 개발 스택으로 리액트가 활용된다. 그래서 리액트를 공부해야하는데, 공부할게 많다. 막막했는데 webpack,babel 의 활용방법 이해 부터 props, state 의 구분과 활용, tree구조, lifecycle 등을 공부하니 react 코드의 맥락 파악은 가능해졌다. 이전에 html css 를 공부해놓으니까 js 부분만 열심히 파면 될 듯. 0. 특정 directory 에서 create-react-app 을 한 뒤, 필요없는 component들을 전부 지워준다. 1. ManageTable.js import React, { useState, useEffect } from "react"; import { getManageApplication } from '../../Utils/..

[python] 백준 1010번: 다리 놓기

https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 조합으로 푸는 문제다. 중고등 수학을 했다면 이해는 바로되는 문제. 왼쪽에 N개, 오른 쪽에 M개의 노드가 있는데 M개 중에서 N개를 꼽아 서로 중복되지 않게 (순서는 무관하게) 왼쪽 N개의 노드와 이어 다리를 만드는 문제다. n_C_m 으로 표현할 수 있다. 이는 팩토리얼로 m! / (m-n)! * n! 으로 표현 가능하다. 코드 import sys,math T = int(input()) for..