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)
1. TCP/IP 정의 (1) IP 정의 더보기 : 지정한 IP 주소에 데이터의 조각들을 패킷이라는 통신 단위로 최대한 빨리 목적지로 보내는 역할이다. 데이터의 조각들의 순서가 뒤바뀌거나 일부가 누락되어도 크게 상관하지 않고 보내는 데 집중한다. 따라서, IP 프로토콜은 패킷의 순서 보장도 할 수 없고 패킷이 중간에 유실되어도 방안 없다. 복잡한 네트워크망을 통하여 가장 효율적인 방법으로 데이터의 작은 조각들을 되도록 빨리 보내는 일하다. => 속도 > 정확도 (2) TCP 정의 더보기 : 패킷 데이터의 전달을 보장 & 보낸 순서대로 받게 한다. 도착한 조각을 점검 후, 줄을 세우고 망가지거나 빠진 조각을 다시 요청하는 식으로 순서 보증한다. 데이터를 상대방에게 확실히 보내기 위해 3-way 핸드쉐이킹을..
1. OSI 7계층의 정의 : 국제 표준화 기구(ISO)에서 개발한 모델. 네트워크 통신을 7단계별로 계층을 나눈 모델이다. 각 계층은 독립적인 역할을 부여받아 동작하며, 문제가 발생하면 현상에 따라 원인 파악이 용이하다. 이 모델을 통해, 각 계층에서 작업을 시각적으로 표현할 수 있다. 2. OSI 7계층 그림 및 각 계층에 대한 간략한 설명 1. Physical Layer(물리계층) 더보기 - 하드웨어와 가까워진다. - 네트워크 데이터가 전송되는 물리적인 전송 기술이다. - 비트(0 or 1)의 통신 단위로 통신된다. - 대표적인 장비: 케이블, 허브, 라우터 등이 존재한다. 1. 허브 : 데이터 통신만 가능하고 아무런 기능이 없다. 2. 리피터 : 광역(WAN, 장거리) 통신일 때, 증폭시켜주는 장..
[문제 사이트] 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(..