분류 전체보기
-
[프로그래머스 C++] 모의고사알고리즘 & 자료구조/코딩테스트 2021. 1. 21. 21:43
문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작..
-
[알고리즘] 병합 정렬알고리즘 & 자료구조 2021. 1. 21. 16:31
병합 정렬 병합 정렬은 원소가 한 개가 될 때까지 계속해서 반으로 나누다가 다시 합쳐나가며 정렬을 하는 방식이다. 그리고 이 과정은 재귀적으로 구현된다. 아래의 숫자들을 오름차순으로 정렬해 보자 7 4 5 2 6 3 8 1 먼저 숫자들을 반으로 나눈다. 7 4 5 2 | 6 3 8 1 그리고 나눠진 부분 중 첫번째를 한번 더 반으로 나눈다. 7 4 | 5 2 | 6 3 8 1 마지막으로 한 번 더 나눠준다 7 | 4 | 5 2 | 6 3 8 1 이제 숫자가 7 과 4로 나뉘어져있다. 두 숫자를 병합 해보자. 단, 작은 숫자가 먼저 오도록한다 4 7 | 5 2 | 6 3 8 1 마찬가지로 5 ,2 역시 나눈 후 병합해보면 4 7 | 2 5 | 6 3 8 1 이제 4 7 | 2 5 부분을 병합 2 4 5 7..
-
[프로그래머스]두 개 뽑아서 더하기알고리즘 & 자료구조/코딩테스트 2021. 1. 20. 18:03
문제 설명 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers의 길이는 2 이상 100 이하입니다. numbers의 모든 수는 0 이상 100 이하입니다. 입출력 예 numbers result [2,1,3,4,1] [2,3,4,5,6,7] [5,0,2,7] [2,5,7,9,12] 입출력 예 설명 입출력 예 #1 2 = 1 + 1 입니다. (1이 numbers에 두 개 있습니다.) 3 = 2 + 1 입니다. 4 = 1 + 3 입니다. 5 = 1 + 4 = 2 + 3 입니다. 6 = 2 + 4 입니다. 7 = 3 + 4 입..
-
[알고리즘] 선택 정렬알고리즘 & 자료구조 2021. 1. 20. 15:26
선택 정렬 정렬을 위한 알고리즘 중 하나이며, 배열 안의 자료 중 가장 작은 수 (혹은 가장 큰 수)를 찾아서 첫 번째 위치(혹은 가장 마지막 위치)의 수 와 교환해주는 방식의 정렬 예를 들어, 6 3 8 5 2 7 4 1 이렇게 정렬되지 않은 숫자들을 오름차순으로 정렬하려고 한다면 6 3 8 5 2 7 4 1 비교기준이 되는 6을 제외한 나머지 숫자들중 가장 작은 수를 찾아낸다 (가장 작은 수: 1) 찾아낸 가장 작은수를 비교기준으로 설정한 6 과 자리를 바꿔준다. 1 3 8 5 2 7 4 6 그럼이제 정렬되어있는 1을 제외하고, 두번째 숫자부터 시작해서 가장 작은 값을 찾는다.(가장 작은 수: 2) 찾아낸 가장 작은수를 2 와 바꿔준다. 1 2 8 5 3 7 4 6 이 과정을 오름차순 정렬 완료 될때..
-
[c++ error] warning: range-based for loop is a C++11 extensionC \ C++ 2021. 1. 19. 17:49
visual code 코드 사용중 main.cpp:13:20: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for (int element : first_three_multiples(8)) { 이러한 에러 발생시 본인이 사용하는 코드 실행프로그램? 찾아서 톱니바퀴 누른 후 -> Extension Settings 그리고 나서 Edit in settings.json 클릭한뒤 밑줄 친 부분을 추가 혹은 수정한다.
-
[C++] range-based for statementC \ C++ 2021. 1. 19. 17:34
C++ 와 Java 에서는 foreach loop 라고 불리는 반복문이 존재한다. (c++에서는 range-based for statement이름을 사용하는듯 하다) 이 loop는 C++11 에서 소개되었다. 우리의 경우 c++ 의 range-based for statement에 대해서 이야기 한다. range-based for statement는 container에 있는 모든 원소를 시작부터 끝까지 반복한다. for(range-declaration : range-expression ) loop statement //range-declaration : range-expression의 elements와 같은 타입의 변수를 선언 //range-expression : elements의 sequence를 나타내..
-
[알고리즘] 버블 정렬알고리즘 & 자료구조/알고리즘 2021. 1. 19. 14:16
버블 정렬 버블 정렬은 두 개의 인접한 자료 값을 비교하면서 위치를 교환하는 방식으로 정렬하는 방법이다. 버블 정렬은 단 두 개의 요소만 정렬해주는 좁은 범위의 정렬에 집중한다. 접근법 자체는 간단하지만, 단 하나의 요소를 정렬하기 위해 너무 많은 교환이 발생할 수 있다. 예를 들어 6 3 8 5 2 7 4 1 이라는 숫자를 오름차순으로 정렬한다고 가정해보자. 우선 가장앞의 6 과 3을 비교해서 순서를 바꾼다. 3 6 8 5 2 7 4 1 이제 6 과 8을 비교해보면 교환할 필요가 없으므로 그대로 두고 바로 다음에 있는 쌓인 8과 5를 비교해서 순서를 바꾼다. 3 6 5 8 2 7 4 1 이런식으로 끝까지 진행한다면 3 6 5 2 7 4 1 8 위와 같이 정렬된다. 하지만 아직 오름차순으로 정렬이 되지 ..
-
[알고리즘] 선형 검색알고리즘 & 자료구조 2021. 1. 19. 12:27
선형 검색 선형 검색은 원하는 원소가 발견될 때까지 처음부터 마지막 자료까지 차례대로 검색한다. 찾고자 하는 자료를 찾을 때까지 모든 자료를 확인해야 한다. 자료를 검색하는 데 사용되는 알고리즘 중 하나이다. 효율성 그리고 비효율성 선형 검색 알고리즘은 정확하다. 하지만 효율적이지 못하다. 예를 들어 만약 100만 개의 원소가 있는 리스트라고 가정한다면.. 찾고자 하는 원소가 가장 마지막에 담겨있다면..굉장히 오랜시간을 탐색해야 할것이다. 하지만 선형 검색은 자료가 정렬되어 있지 않거나 그 어떤 정보도 없어 하나씩 찾아야 하는 경우에 유용하다. #include #include #include typedef struct { string name; string number; } person; int main..
-
[C++]ERRORSC \ C++ 2021. 1. 17. 16:35
1.Cimpile-time Errors -Syntax errors: 문법 규칙 위반시 발생 ex) ; 빼먹은 경우 , { 빼먹은 경우 -type errors: 타입과 선언이 미스매치인 경우 ex) 변수 선언시 잘못된 자료형 사용 등 2.link-time Errors 프로그램이 필요한 함수 혹은 라이브러리를 찾지 못하는 경우 ex) main() 을 Main() 으로 작성했을시, 정의된적 없는 함수 사용시 등,, 3.Run-time Errors 프로그램 실행중 발생하는 에러 ex)0으로 나눌때, 존재 하지 않는 파일 열려고 할때 4.Logic Errors 프로그램은 성공적으로 끝났지만 프로그래머가 의도한 결과가 아닌 다른 결과가 나왔을때 ex) if문 조건 실수 loop, for,,,등 여러가지 경우, 프로..