본문 바로가기

전체 글

<missing> 개인정보처리방침 은(는) 「개인정보 보호법」 제30조에 따라 정보주체의 개인정보를 보호하고 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보 처리방침을 수립·공개합니다. ​ 제1조(개인정보의 처리 목적) 은(는) 다음의 목적을 위하여 개인정보를 처리합니다. 처리하고 있는 개인정보는 다음의 목적 이외의 용도로는 이용되지 않으며 이용 목적이 변경되는 경우에는 「개인정보 보호법」 제18조에 따라 별도의 동의를 받는 등 필요한 조치를 이행할 예정입니다. 1. 홈페이지 회원가입 및 관리\n\n회원 가입의사 확인, 회원제 서비스 제공에 따른 본인 식별·인증, 회원자격 유지·관리 목적으로 개인정보를 처리합니다. 2. 재화 또는 서비스 제공\n\n본인인증을.. 더보기
k진수에서 소수개수 구하기 프로그래머스 카카오 Lv2 문제풀이 나의 풀이 // 소수 판별 함수 const isPrime = (arg) => { if (arg 6 * 6 = 36). 그렇다면 6이 아닌 어느 두개의 숫자를 곱하여 36을 만들기 위해서는 한쪽이 6보다 작고 반대쪽은 6보다 커야 한다. 식으로 .. 더보기
[python] csv, error import csv # csv 쓰기 dataList = [ ['종목', '매입가', '수량', '목표가'], ['삼성전자', 85000, 10, 90000], ['NAVER', 380000, 5, 400000], ] file = open('./myvenv/Chapter10/mystock.csv', 'w', encoding='utf-8-sig') writer = csv.writer(file) for data in dataList: writer.writerow(data) file.close() # csv 읽기 file = open('./myvenv/Chapter10/mystock.csv', 'r', encoding='utf-8-sig') reader = list(csv.reader(file)) # csv r.. 더보기
[python] Class # 클래스: 객체를 만들기 위한 설계도 # 객체: 설계도로부터 만들어낸 제품 class Monster: total = 0 # 생성자: 인스턴스 생성시 가장 먼저 호출되는 메서드 def __init__(self, num): self.age = num # 클래스 변수: 생성된 인스턴스가 모두 공유할 수 있는 데이터 # (예시 변수 total 은 인스턴스가 생성될 때마다 데이터가 1씩 증가하게끔 설정) Monster.total += 1 # 메서드 1 def say(self): print("i'm monster") # 메서드 2 def clac(self, arg): self.age -= arg return self.age ghost = Monster(500) ghost.say() # __dir__: 해당 객체에.. 더보기
시간 복잡도 알고리즘의 스피드는 "완료까지 걸리는 절차의 수" 로 측정할 수 있고, 이를 시간복잡도라고 한다. 절차(= 연산)는 데이터의 할당, 비교, 증감, 계산, 반환(return)을 모두 포함한다. 알고리즘에 입력된 데이터를 N 이라 했을 때 계산식을 정의하고, 최고차항만을 남겨 시간복잡도를 파악하는 표기법을 빅오표기법이라 한다. (최고차항만을 남기지만 앞서 붙어있는 상수에 대해서는 고려하지 않는다) const foo = (arr: [], N: number) => { // cnt 데이터 할당 + 1 const cnt = 0; // i 데이터 할당 + 1 for (let i = 0; i N * .. 더보기
boj 1406 javascript 원본 배열의 인덱스를 활용하여 수정하는 방식은 주어진 배열의 길이 만큼의 추가 연산이 들어가기 때문에 요소를 추가할 때 unshift, splice를 활용하면 O(N)이 추가된다. 시간 복잡도를 최소화하기 위하여 2개의 배열과 push, pop O(1) 메서드를 활용해 함수를 만들었다. const fs = require('fs'); const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n'); const left = input[0].split(''); const right = []; for (let i = 0; i < parseInt(input[1]); i++) { const command = input[i + 2].split(' '.. 더보기
boj 13300 javascript 최대한 배열 회귀 횟수를 줄이는 방법을 생각했다. 일단 각 학년, 성별의 개수를 모을 배열을 미리 선언해놓고 주어진 학생 데이터를 확인하면서 미리 선언된 배열에 나눠서 1 씩 할당한다. 그 이후에 완성된 배열 요소를 각각 방별 최대인원으로 나누고 올림처리한 뒤에 모두 더해주면 최소 방의 개수를 알 수 있다. const fs = require('fs'); const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n'); const max = Number(input[0].split(' ')[1]); const rooms = Array(13).fill(0); for(let i = 1; i < input.length; i++) { const s.. 더보기
C 언어 기초 기초 형태 #include int main(void) { printf("hello, world\n"); } - 위와 같은 프로그래밍 언어로 구성된 코드를 소스 코드라 하고, 컴퓨터가 인식, 실행할 수 있는 머신코드로 변환시키기 위해 컴파일러를 활용한다. - 컴파일 명령어: "clang 파일명.c " => 해당 명령어를 실행하면 머신코드 파일이 생성되고 해당 파일 위치를 그대로 터미널에서 입력하면 코드가 실행된다. #include #include int main(void) { string animal = get_string("좋아하는 동물을 알려주세요"); printf("내가 좋아하는 동물은 %s\n", animal); } - 할당연산자(=): 오른쪽 데이터 혹은 함수가 왼쪽 변수에 할당한다는 표기이다. .. 더보기