[JavaScript] localeCompare
·
JavaScript
sort 로 문자열을 정렬하는 작업을 쉽게해주는 것을 알아냈다. 일반적으로 sort로 문자열을 정렬할 때는 function solution(strings, n) { return strings.sort((a, b) => { if(a[n] b[n]) { return 1; } else if (a < b) { return -1; } else { return 1 } }); } 이런식으로 계산했다. 숫자의 경우 a - b 같은 방식으로 정렬을 쉽게하였는데, 문자열에선 이런 방법이 불가능하다. 이것을 쉽게해주는 것이 localeCompare이다. string.localeCompare(compareString) 사용 방법이 아주 간단한데, string..
[알고리즘] 문자열 내 마음대로 정렬하기
·
알고리즘
문제 설명 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다. 제한사항 strings는 길이 1 이상, 50이하인 배열입니다. strings의 원소는 소문자 알파벳으로 이루어져 있습니다. strings의 원소는 길이 1 이상, 100이하인 문자열입니다. 모든 strings의 원소의 길이는 n보다 큽니다. 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다. 입출력 예 string n return ["sun", "bed..
객체 정렬하기
·
JavaScript
코딩을 하다보면 빈번하게 객체를 정리 해야하는 경우를 만나게 된다. 배열의 경우엔 Sort 함수를 사용하면 되지만 객체의 경우엔 몇 가지 제약이 있다. 기본적으로 Object를 저장형 데이터로 사용할 경우에는 Object를 사용하기 보단 Map을 사용하는 것이 좋다. 어쩔수 없이 Object를 사용하는데 정렬이 필요할 때 참고 바랍니다! 다양한 해결 방법이 있었는데, 그중 하나를 정리한다. let object = { a : 20, b : 30, c : 40, d : 35, } 형식의 객체가 있다고 했을 때 Value를 기준으로 정리하는 방식이다. const sortObject = []; for(const item in object) { sortObject.push([item, object[item]]);..
[알고리즘] C++ STL sort() 함수_Vector/Pair
·
알고리즘/풀이 힌트
클래스(Class)를 정의해서 여러 개의 변수가 존재하는 상황에서 '특정한 변수' 를 기준으로 정렬하는 방법은 실무에서는 적합한 방법이지만 프로그래밍 속도 측면에서는 유리하지 않다. ​ 일반적으로 프로그래밍 대회같은 빠른 개발이 필요할 때는 페어(Pair) 라이브러리를 사용하는 것이 효율적이다. #include #include #include #include // vector가 정의되어 있는 헤더 using namespace std; int main(void) { vector v; // pair : 한 쌍의 배열(int, string)을 묶어음 v.push_back(pair(90, "잉여인간 1호")); // 배열의 마지막 부분에 삽입을 나타내는 push.back v.push_back(pair(85, "..
[알고리즘] C++ STL sort() 함수_class
·
알고리즘/풀이 힌트
sort() 함수 사용하는 방법 #include #include // STL 라이브러리 -> sort() 함수가 정의되어있음 using namespace std; bool compare(int a, int b) { // 비교 함수 return a > b; // 정렬 기준 : 내림차순 정렬 } int main(void) { int a[10] = { 9, 3, 5, 4, 1, 10, 8, 6, 7, 2 }; sort(a, a + 10); // a -> 메모리 주소, a + 10 -> 정렬할 마지막 주소가 있는 메모리 주소 sort(a, a + 10, compare); // 추가로 함수를 넣어주면 원하는 정렬 기준으로 정렬을 할 수 있다. //=> 9 ~ 2 까지의 주소를 정렬한다는 사실을 나타냄 for (i..