programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr 첫번째 풀이 배열 내 한 원소를 기준으로 다른 원소와의 계산을 위하여 2중반복문으로 문제를 풀었다. #include #include #include #include using namespace std; bool solution(vector phone_book) { bool answer = true; for (int i = 0; i < phone_book.size(); i+..

자료구조 - 데이터의 집합 - 대량의 데이터를 효율적으로 관리할 수 있는 데이터의 구조 - Code상 효율적으로 데이터를 처리하기위해 데이터의 특성에 따라, 체계적으로 데이터를 구조화 - 상황별 어떤 자료구조를 사용하냐에 따라 코드 효율이 달라진다. 1. 배열(Array) - 여려개의 데이터를 하나의 변수에 관리(연관 데이터를 하나의 변수에 관리할 수 있다.) - 고정된 크기 - 물리적으로 연속적으로 배치되어있음. - Index로 데이터에 접근(논리적인 순서(Index))는 메모리에 저장되는 원소값의 물리적인 순서(메모리)와 동일 - 데이터의 삭제, 삽입시 낭비되는 공간이 없으려면 시프트연산이 동반되어야 함 2. 리스트(List) - 선형 리스트(Linear List), 연결 리스트(Linked List..

Big-O Notation이란? - 알고리즘의 효율성을 수학적으로 표기 - 알고리즘 효율성 -> 데이터의 개수(n)이 주어졌을 때 기본연산 횟수를 의미 - 시간 복잡도와 공간복잡도를 나타내는데 주로 사용 (시간복잡도 : 알고리즘의 시간 효율성, 공간복잡도 : 알고리즘의 메모리공간 효율성) 시간 복잡도의 성능 비교 (왼쪽에 위치할수록 효율성이 높음, 최악의 경우를 기준으로 알고리즘의 성능을 판단함) O(1) > O(log n) > O(n) > O(nlog n) > O(n²) > O(2ⁿ) O(1) - input data의 크기와 상관없이, 항상 일정한 시간이 걸림 - stack의 push, pop bool function(vector n){ if(n[0] == 0) return true; return fa..
programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr #include #include #include #include using namespace std; //Parameter //1 participant : 참여자 명단 //2. completion : 완료자 명단 string solution(vector participant, vector completion) { string answer = ""; sort..

OSI 7 Layer Network에서 통신이 일어나는 과정을 7단계로 나눈 것 Data Flow의 이해가 쉽도록 함 표준화를 통한 유지보수가 용이 효율적인 장비 생산/개발이 가능 함 서로 다른 디바이스/시스템간의 통신이 가능 1 ~ 4 계층 - 하위계층(물리적 계층) 5 ~ 7 계층 - 상위계층(논리적 계층) 계층 계층명 설명 7 응용 유저에게 서비스 제공 SMTP, FTP, HTTP 등 유저가 원하는 최종 목표에 해당됨 Protocol : HTTP(HyperText Transfer Protocol), SMTP(Simple Mail Transfer Protocol), FTP(File Transfer Protocol), Telnet 6 표현 데이터의 변환, 압축, 암호화 Protocol : SSL(Sec..

React에서 유저 정보 수정기능과 회원 탈퇴 기능을 만들었다. 우측 상단 회원 대표사진을 누르면 회원이름 및 정보수정, 로그아웃, 탈퇴를 선택할 수 있다. 1. 회원탈퇴를 선택하였을 경우 token이 삭제되고, DB에 저장되어 있는 유저가 없어진다. server에 post로 logout, delete(+ 파라미터email) 2가지 요청을 한다. server의 유저 삭제 코드는 다음과 같이 간단하게 구현되어 있다. 2. 유저정보수정 ui는 회원가입 페이지의 모양을 그대로 가져왔다. 하지만 대표 이미지, 이메일. 유저명은 입력이 되어 있는 상태이며 이메일은 수정할 수 없다. 현재 가입되어있는 유저의 정보를 수정 하면 수정된 정보가 화면에 출력된다. 간단하게 유저이름과 사진을 수정하였다. 유저 정보수정에 대..

컴포넌트를 function으로 선언하는것과, class로 선언하는 각각의 방식이 있다. 2가지 선언방식은 어떤점에서 차이가 있을까? 이름 그대로 class component(이하 CC)는 class를 기반으로 작성되는 컴포넌트이며, function component(이하 FC)는 함수로 컴포넌트를 작서앟는 것이다. React에서 컴포넌트의 역할은 단순하게 Template의 역할을 넘어서 Data의 Flow를 제어하고, Data에 따라 UI를 만들어주며, Component가 화면에서 변동이 있을 때(나타날경우, 사라질경우 등) 작업을 수행할 수 있다. 두가지 컴포넌트의 역할은 동일하다. - CC는 state기능 및 Life Cycle 기능을 사용할 수 있으며, 임의의 Method를 정의할 수 있다는 점에서..
프로그래머스 주소 : programmers.co.kr/learn/courses/30/lessons/68644 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr #include #include #include using namespace std; vector solution(vector numbers) { //결과 입력 vector answer; //인덱스별 더하기 for (int i = 0; i < numbers.size(); i++) { for (int j = ..