전체 글

공부와 경험의 기록!
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 핵심 알고리즘 - 단어에서 알파벳은 하나씩만 바꿀 수 있으므로, begin 단어의 길이가 n이라고 했을 때 현재 확인하는 단어의 동일한 알파벳이 n-1 개 인지 체크해야 한다 - bfs 를 이용해서 풀면 최소 단계를 카운트 하기 편하다 !! queue에 step 을 저장하고 새로 업데이트 될때마다 step+1 해주면된다. from collections import deque def solution..
·Algorithm (PS)
import math n = 1000 # 2 ~ 1000 까지의 모든 소수 array = [True]*(n+1) # 아리스토테네스의 체 for i in range(2, int(math.sqrt(n))+1): # 제곱수까지만 확인한다 if array[i]: j = 2 while i*j < n: # n 보다 작은 모든 i의 배수를 지운다 array[i*j] = False j += 1 for i in range(2, n+1): if array[i]: print(i, end=" ")
선언형 언어 : 프로그래밍이 수행해야할 문제를 기술하는 언어. 목표를 명시하고 알고리즘은 명시하지 않는다 - 함수형언어 ex) LISP - 논리형언어 ex) PROLOG 명령형 언어 : 문제를 해결하기 위한 방법을 기술하는 언어 ex) FORTRAN, COBOL, C, Java.. 선언형 언어의 종류 HTML LISP PROLOG XML Haskell 라이브러리 : 자주 사용하는 함수나 데이터들을 미리 만들어 모아놓은 집합체 C++ 에서 생성자 : 객체 변수 생성에 사용되는 메소드로 객체 변수를 생성하면서 초기화를 수행한다 Java 표준 라이브러리 java.lang : 자바에 기본적으로 필요한 인터페이스 자료형. 예외처리 등 관련한 기능 제공 String, System, Process, Runtime, ..
·Algorithm (PS)
class Solution: def isPalindrome(self, s: str) -> bool: # 예외 처리 if s == " ": return True s = s.lower() # 소문자로 변환 new_str = "" for i in s: if i.isalnum(): new_str += i n = len(new_str) for i in range(n // 2): if new_str[i] != new_str[n - i - 1]: return False return True
실리콘벨리 인턴십 멘토링을 통해 만나게 된 한기용 님의 추천으로 한기용님의 커리어 특강 강의를 듣게 되었다. 인턴십을 통해 로그 데이터를 심고 데이터를 서버에서 확인하는 일을 주로 해와서, 클라이언트와 데이터팀에 걸쳐져 있었으며 데이터 팀에서 인사이트 도출하는 것이 너무 재미있어 보여 데이터 팀은 무엇을 하고, 뭘 공부하면 되는지 궁금했다. 들으면서 데이터 팀에 대해 가지고 있던 나의 환상(?)이 있지는 않았나, 좀 더 현실적으로 데이터팀이 무슨일을 하는지 알 수 있었다. 1. 데이터 조직의 비전 ? - 사실상 회사가 데이터를 기반으로 직접적으로 매출에 영향을 준다던지, 데이터 중심으로 돌아가는 서비스가 아니면 영향력을 갖기 어렵다 - 데이터로 돈을 버는 회사가 아니라면, 데이터로 부가가치를 창출하는 역..
·개발일기
새로 받은 회사 맥북에서 깃에 커밋을 하려고 했는데 ,,,!!! 커밋은 되는데 잔디가 안심어진다 ?! 이럴수럴수럴수가 잔디 안심어질 때 해결방법에 대해 알아보자 나의 해결방법은 현재 내 로컬 git에 설정된 email과 깃허브 settings -> email 에서 인증된 이메일 주소가 달랐다는 점이다 ! git config --list 명령어를 터미널에 쳐서 확인해볼 수 있다. 이후 이메일 설정에 대한 해결 방법은 두가지가 있다. 1. 작업하는 '폴더' 만 git email 바꾸기 git config user.email "내 이메일 주소" 2. local 환경 git 전체 email 바꾸기 1번과 동일하지만 --global 옵션을 붙여주면 된다. git config --global user.email "..
·개발일기
공부한 보람을 느끼기 위해서 + 자잘한 커밋이 개발에 도움이 되는 것 같아서 1일 1커밋을 거의 해왔다 ! 중간 중간 회사를 다니기 시작하면서 빈 진디가 보이기는 한다 ㅎㅎ 앞으로도 계속
·Algorithm (PS)
1. 정직한 나의 dp 풀이 시간초과가 났다 # 1806 부분합 n, s = map(int, input().split()) array = list(map(int, input().split())) INF = int(1e9) dp = [INF] * (n+1) for i in range(n): temp = array[i] count = 1 for j in range(i+1, n): if temp >= s: dp[i] = count continue else: temp += array[j] count += 1 print(min(dp)) 2. 유형을 보니까 투포인터 알고리즘을 사용하는 것이다. 먼저 0번째 인덱스부터 현재 인덱스까지의 원소들의 합을 저장해 놓은 sum_array를 새로 만들어야 한다. 그리고 sum..
minjiwoo
MJ workspace