본문 바로가기

분류 전체보기

(159)
[python 파이썬] 백준 <1. 입출력과 사칙연산> 1~5번 2557번, 1000번, 1001번, 10998번, 1008번 코드 [2557번] Hello Worldprint("Hello World!")  [1000번] A+BA, B = input().split()print(int(A) + int(B))a, b = map(int, input().split())print(a + b) [1001번] A-BA, B = input().split()print(int(A) - int(B))   [10998번] A*Ba, b = map(int, input().split())print(a * b) [1008번] A/Ba, b = map(int, input().split())print(a / b)    워낙 간단한 문제들이라 부연 설명 없이 깃허브 링크 첨부!https://github.com/yenyen31/BaekjoonAlgorithm GitH..
[해커톤] [구름톤 유니브 2기] PM으로서의 첫 도전 경험 "벚꽃톤🌸" 회고 PM으로서의 첫 도전 "아이디어톤"해커톤에서 PM(프로젝트 매니저)은 팀의 성과를 이끌어내는 핵심적인 역할을 맡는다. 이 포스팅은 나의 해커톤 PM으로서의 첫 도전 경험에 대해 다뤄보고자 한다. 인턴과 해커톤을 병행하느라 진짜 바빠 죽는 줄 알았지만, 이번 벚꽃톤으로 단시간 안에 많은 것을 배울 수 있었다.  팀프로젝트에서 늘 개발자만 하다가 이번에 구름톤 유니브 동아리 활동을 하면서 PM으로 활동을 시작했다. PM을 보면서 PM은 프로젝트에서 하는 일이 많을까? 어떤 역량을 가져야할까에 대한 의문이 늘 있었다. 개발자로서 PM과 디자인등 다른 파트와 커뮤니케이션하며 PM 나도 잘할 수 있겠는데..? 라고 생각했다. 해커톤에 PM으로 처음 도전했을 때 두려움과 기대가 교차했다. 처음에는 기획력에 대한 부..
[Python 파이썬] 피보나치 수열 구현하기 (공간 최적화) def fib_optimized(n): current = 1 # current는 1로 초기화, n = 1이면 반복 필요 없음 previous = 0 # 반복문 구현 for i in range(1, n): current, previous = current + previous, current # n번재 피보나치 수를 리턴 return current # 테스트 코드 print(fib_optimized(100)) # 실행결과: 354224848179261915075
[알고리즘] [Divide and Conquer 분할 정복] 1부터 N까지 더하는 문제를 분할 정복으로 구현하기 분할정복이란 문제를 모두 부분 문제로 나눠서 해결하는 알고리즘이다. 문제들이 충분히 나누어졌다고 생각할 때까지 문제를 작게 나눈다. 분할 정복의 3단계 Divide: 주어진 문제를 반으로 나누어 두 개의 부분 문제로 나누기 Conquer: 두 부분 문제를 재귀적으로 구하기 Combine: 계산한 두 부분 문제의 답을 더하기 def consecutive_sum(start, end): # n과 n이 같은 경우 if end == start: return start # 부분 문제를 반으로 나누기 위해 문제의 정중앙을 정의 mid = (start + end) // 2 # 각 부분 문제를 재귀적으로 풀고(Conquer), 부분 문제의 답을 서로 더함(Combine) return consecutive_sum(star..
[Python 파이썬] 두 리스트 원소들 중에 두 원소를 곱한 값이 최대가 되는 경우 구하기 def max_result(left_lists, right_lists): # 왼쪽 리스트, 오른쪽 리스트 존재 max_result = left_lists[0] * right_lists[0] # 초기에는 임시로 리스트의 첫 번째 원소로 지정 # 가능한 모든 조합을 시도해보는 for 문 for left in left_lists: # 왼쪽 리스트 for right in right_lists: # 오른쪽 리스트 # 현재까지의 최댓값 값과 현재 원소들의 곱을 비교해서 더 큰 값을 최댓값 변수에 담아줌 max_result = max(max_result, left * right) # 최댓값 조합 # 찾은 최댓값을 리턴 return max_result print(max_result([1, 6, 5], [4, 2, 3]..
[자바스크립트 JavaScript] Math객체의 다양한 메소드 console.log(Math.max(2, -10, 50, -12, 180)); // -12 절댓값 (Absolute Number) Math.abs(x)를 하면 x의 절댓값이 리턴됩니다. console.log(Math.abs(-30)); // 30 console.log(Math.abs(30)); // 30 최댓값 (Maximum) Math.max 함수에 파라미터로 여러 수를 넘겨주면, 그중 가장 큰 값이 리턴됩니다. console.log(Math.max(2, -10, 50, -12, 180)); // 180 최솟값 (Minimum) Math.min 함수에 파라미터로 여러 수를 넘겨주면, 그중 가장 작은 값이 리턴됩니다. console.log(Math.max(2, -10, 50, -12, 180)); //..
[자바스크립트 JavaScript] 객체 데이터 생성/삭제/확인하기 객체 내부 property들을 수정하는 방법에 대해 알아보자. let ob = { name: '오브젝트', birthYear: 2023, isTruth: true, worstDay: null, bestDay: { date: '2023.10.1', reason: 'blahblah' } }; 객체 내부에 property 추가하기 위에 오브젝트에 gender라는 프로퍼티를 추가하는 코드는 다음과 같다. // 객체 프로퍼티 추가하기 // gender 프로퍼티 추가하기 ob.gender = 'm'; console.log(ob.gender); // 콘솔 출력으로 확인하기 마침표를 이용한 점 표기법을 사용해 해당 오브젝트에 데이터를 할당하고 추가할 수 있다. delete 연산자로 객체 내부 property 삭제하기 ..
[자바스크립트 JavaScript] 객체에서 데이터 접근하기 객체 내부의 있는 값에 접근하는 방법 // 객체 let ob = { name: '오브젝트', bornYear: 2023, isTrue: true, lecture: { title: "자바스크립트", language: "JacaScript" } }; ob 라는 객체가 존재할 때 ob객체에서 데이터를 접근하는 방식에는 2가지가 있다. 1. 점 표기법 (objectName.propertyName) 이렇게 객체 이름 다음에 마침표(.)를 찍고 바로 프로퍼티 이름을 입력하는 방식이다. 객체의 데이터를 접근하는데 가장 간단하고 많이 사용되는 방식이다. ✔️ 주의할 점! : 점 표기법에서는 프로퍼티의 띄어쓰기가 허용되지 않는다 예) ob의 bornYear 프로퍼티 출력하기 console.log(ob.bornYear) ..