본문 바로가기
반응형

SWE/코테137

[성실코딩 1일차] 백준 #1094 막대기 77ㅑ 너무 오랜만에 쉬운걸 풀었다!! 아주 기분이 좋군 쉬워쉬워 난이도 1점/10점 근데 문제는 뭔소린지 이해하기 헷갈림,, 걍 예제 입출력보고 이해하는게 빠름! #include using namespace std; int main(void) { int x; cin >> x; int num_sticks = 0; int sticks = 64; while (x!=0) { if (x>=sticks) { x = x - sticks; num_sticks++; } else { sticks = sticks / 2; } } cout 2018. 10. 12.
[성실코딩 1일차] 백준 #1021 회전하는 큐 * &s 처음에 생각한 방법 1. circular queue를 생성. int head = 배열의 처음을 가리킴. 배열의 인덱스로 참조. int tail = 배열의 마지막 원소를 가리킴. 배열의 인덱스로 참조. 두 개의 변수를 가지고 있고, tail = (tail+1)%SZ 와 같은 방식으로 이동을 한다. 2. 뽑아내려고 하는 수의 위치가 head, tail 중 가까운 것에 따라 동작을 다르게 함. - head와 가까움 -> 2번 작업 ( 왼쪽으로 이동 ) - tail과 가까움 -> 3번 작업 ( 오른쪽을 이동 ) 3. 배열에 저장해 놓은 값 = 초기 원소의 위치 (뽑아내려고 하는 수의 위치는 값으로 참조) 0 1 2 3 4 5 6 7 8 9 m; tail = n-1; // 큐의 마지막 인덱스를 가리키고 있다. /.. 2018. 10. 12.
Merge Sort 합병정렬 Merge Sort 합병정렬 개념- 분할 정복(divide and conquer) 방법의 하나의 예 -> 문제를 작은 2개의 문제로 분리하고 각각을 해결한 다음, 결과를 모아서 원래의 문제를 해결하는 전략. - 합병정렬은 하나의 리스트를 두 개의 균등한 크기로 분할하고, 분할된 부분 리스트를 정렬한 다음 두 개의 정렬된 부분 리스트를 합하여 전체가 정렬된 리스트를 얻고자 하는 것. - bottom-up 방식 (아래에서 위로 올라가서 결과가 됨) - 1단계 : n개의 데이터를 1개로 다 자른다. 2단계 : 토너먼트 형식으로 데이터 두 개를 하나로 붙인다. 붙일 때 정렬을 하며 붙임. 반복 : 데이터의 원소가 2개 있는 각각의 2개의 데이터를 하나로 붙인다. 반복 : 데이터의 원소가 4개 있는 부분집합을 8.. 2018. 10. 11.
백준_10866_덱 / queue, string 허헣 쉬운거 풀고싶어서 이거 찾아 풀었음 근데 나름 string 공부하기에 좋았던 것 같음. c++은 버전마다 표준문법?이 있어서 참 어려운 것 같음 ㅠㅠ 어떤 버전은 지원하고 어떤 버전은 지원 안하고,,, stl 에서 제공하는 queue사용하지 않고 struct 만들어서 sll로 구현했음. 매우 쉬움. string 함수들은 c+14버전으로 작성했음. (stringstream은 아닌가..?) #include #include #include #include #include //string.compare using namespace std; struct node { int data; struct node *next; struct node *pre; }; struct node *head=0; struct no.. 2018. 10. 10.
반응형