Skip to content

Commit

Permalink
#7 22.05.09 > 2번, 3번 다시풀기
Browse files Browse the repository at this point in the history
  • Loading branch information
beurmuz committed May 8, 2022
1 parent c3414f6 commit de57b26
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 6 deletions.
9 changes: 5 additions & 4 deletions src/inf/sort,greedy/2.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

function solution(array){
let answer=array;
for(let i = 0; i < array.length; i++) {
for(let j = i; j < array.length-1; j++) {
for(let i = 0; i < array.length-1; i++) {
for(let j = i; j < array.length-1-i; j++) {
if(array[j] > array[j+1]) {
[array[j], array[j+1]] = [array[j+1], array[j]];
}
Expand All @@ -18,7 +18,8 @@ console.log(solution(array));
/*
- 버블 정렬: 인접한 두 값을 비교해 값의 크기에 따라 값을 바꿔주는 방법
- 이중 for문 이용하기
-> i는 0부터 array.length까지 반복
-> j는 i부터 array.length-1까지 반복
-> i는 0부터 array.length-1까지 반복
-> j는 i부터 array.length-1-i까지 반복
- 인접한 두 값을 비교해 값을 바꾸다보니
-> j와 j+1을 비교해 값이 순서대로 되어있지 않다면 구조분해 할당으로 바로 교환하기
*/
39 changes: 39 additions & 0 deletions src/inf/sort,greedy/3_re.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
'use strict';

function solution(array) {
// 1) array.push()로 풀기
/*
let answer = [];
let negativeStack = [];
let positiveStack = [];
for(let x of array) {
if(x > 0) {
positiveStack.push(x);
} else if(x < 0) {
negativeStack.push(x);
}
}
answer = negativeStack.concat(positiveStack);
*/

// 2) bubble sort 이용해서 풀기
let answer = array;
for(let i = 0; i < array.length-1; i++) {
for(let j = 0; j < array.length-i-1; j++) {
if(array[j] > 0 && array[j+1] < 0) {
[array[j], array[j+1]] = [array[j+1], array[j]];
}
}
}

return answer;
}

let array = [1, 2, 3, -3, -2, 5, 6, -6];
console.log(solution(array));

/*
1) array.push()로 풀어도 됨
2) 굳이 sort로 풀어보라하면 버블정렬을 이용하면 됨
- 앞이 양수, 뒤가 음수인 경우에만 바꿔줌 (순서를 유지해야하니 -, +인지 여부에 따라서만 바꿔주면 됨)
*/
4 changes: 2 additions & 2 deletions src/inf/sort,greedy/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
|번호|정답여부|재응시|
|:---:|:---:|:---:|
|1|O|O|
|2||예정|
|3|O||
|2|O|추후에 다시풀기|
|3|O|다시 풀기|
|4|O||
|5|||
|6|||
Expand Down
2 changes: 2 additions & 0 deletions theory/sort.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@
## 2. 버블 정렬 (Bubble sort)
- 서로 인접한 두 원소를 검사하여 정렬하는 알고리즘
- 인접한 두 원소를 비교해 크기가 순서대로 되어있지 않으면 서로 교환함
- 인접한 두 원소를 비교하다보니 이미 초기에 가장 왼쪽에 있는 수가 가장 오른쪽으로 이동함
- 맨 뒷자리는 바로 결정됨 (때문에 j-1-i까지만 반복하면 됨)

### 특징
- 장점
Expand Down

0 comments on commit de57b26

Please sign in to comment.