1. 계기 학교에서 주간하는 하계 인턴 + 장기 인턴을 하면서 회사에서 React와 typescript + styled-components를 이용해서 사이트를 개발하였기에 개인 프로젝트로도 배운 걸 응용해서 혼자만의 프로젝트를 만들어봐야겠다고 생각을 했다. 그래서 우당탕탕 React 공부 드갑니다. 2. 문제점 및 해결 방법 우선적으로 나는 맥북을 이용하는데, React와 typescript, styled-components를 이용하다가 초기 환경설정부터 오류가 터졌다. 그래서 console을 이용해서 오류를 찾아보니 다름 아닌 "Uncaught ReferenceError: process is not defined" 문제가 발생했다. 이게 무슨 오류지... 난 처음부터 잘못 깔아서 생긴 건가... 했는데..
[계기] 프로그래머스 문제 중, 유한소수 판별하기라는 문제를 보고 함수를 사용지 않고 최대공약수를 구해보고 싶어서 한 번 구현을 해보았다. 아직은 두 개의 인자만 왔을 때의 경우만 구현했는데, 나중에 수정해보면서 개수를 늘렸을 때의 코드도 올릴 것이다. [내 코드] n1 = int(input()) n2 = int(input()) num = 2 result = [] while n1 // num != 1 or n2 // num != 1: if (n1 % num == 0 and n2 % num == 0): n1 = n1 // num n2 = n2 // num result.append(num) if (n1 == 1 or n2 == 1): break else: num += 1 print(result)
[문제 사이트] https://school.programmers.co.kr/learn/courses/30/lessons/120839 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제] [내 코드] def solution(rsp): answer = '' if (len(rsp) >= 2): for i in rsp: if (i == '2'): answer += '0' elif (i == '0'): answer += '5' else: answer += '2' else: if (rsp == '2'): answer += '0' elif (rsp == '0'): ..
[문제 사이트] https://school.programmers.co.kr/learn/courses/30/lessons/120898 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제] [코드] def solution(message): return len(message) * 2 [해석] 1. 왜 길이에 *2를 할까? : 일단 파이썬에선 곱하기는 *를 쓴다. 그리고 한 자를 2cm씩 쓰니까 최소 길이는 결국 전체 문자열에 *2를 하는 것과 같음.
[문제 사이트] https://school.programmers.co.kr/learn/courses/30/lessons/120913 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제] [코드] import math def solution(my_str, n): answer = [] for i in range(math.ceil(len(my_str)/n)): answer.append(my_str[:n]) my_str = my_str[n:] return answer [해석] 1. for문을 쓴 이유? : 문자열을 n만큼 나누어 리스트로 만들기 위함. 2. i..
[문제 사이트] https://school.programmers.co.kr/learn/courses/30/lessons/120909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제] [코드] def solution(n): a = n**(1/2) b = float(int(n**(1/2))) if (a - b == 0): return 1 else: return 2 [해석] 1. a와 b 변수로 나누는 이유는? : 제곱 수인지 아닌 지 판별하기 위해서, 정수인 것과 소수인 것으로 구분. 2. a - b == 0이 조건인 이유는? : 이렇게 구분하여 둘의 ..
[문제 사이트] https://school.programmers.co.kr/learn/courses/30/lessons/120910 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제] [내 코드] def solution(n, t): return (n * (2 ** (t))) [해석] 1. n * (2 ** (t)))의 식인 이유는? : 1시간에 2배만큼 증식하니까, 2시간에 4배, 3시간에 8배. 따라서, 2의 n제곱만큼 증가. 따라서, n * ( 2 ** (t))) 해주면 됨. 파이썬에서는 제곱을 나타내기 위해서 **을 사용!
[문제 주소] https://school.programmers.co.kr/learn/courses/30/lessons/120912 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제] [코드] def solution(array): answer = 0 for i in array: answer += str(i).count('7') return answer [해석] 1. for문 : 배열 안의 원소를 하나씩 꺼내어 7의 개수를 세어야 하기 때문. 2. str() 함수 쓰는 이유 : 숫자는 개수를 count할 수 없음. 따라서, 문자열로 변환 후, count(..
[프로그래머스 문제 사이트] https://school.programmers.co.kr/learn/courses/30/lessons/120924 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제] [코드] def solution(common): count = common[1] - common[0] if (common[-2] + count == common[-1]): answer = common[-1] + count return answer else: count = common[1] // common[0] return common[-1] * count ..