정렬
[Python]람다(lambda)를 사용하여 정렬하기
람다(lambda)란? 람다란, 프로그래밍 언어에서 사용되는 개념으로 익명의 함수, 이름 없는 함수를 지칭한다 ! 람다는 이번 글에서 다룰 "정렬"말고도 다른 많은 방법으로 활용할 수 있다고 한다. 다른 많은 사용법은 다음번에 정리해보겠다 ! 람다(lambda)를 활용한 정렬 예제 예제 1 dataArr = ['aewde', 'ab', 'lpcd', 'a', 'sbc'] # 1번 dataArr.sort() # 2번 dataArr.sort(key = lambda x : len(x)) 1번의 경우에는 ['a', 'ab', 'aewde', 'lpcd', 'sbc']로 정렬이 됨. 2번의 경우에는 ['a', 'ab', 'sbc', 'lpcd', 'aewde']로 정렬이 됨 ! 💡 눈치빠른 사람은 len(x)을 ..
[프로그래머스]H-Index - Java
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 처음엔 주어진 배열을 오름차순으로 정렬을 한 후에 이중 for문을 돌면서 h보다 높으면 count를 하나씩 해주는 방식으로 풀었는데, 그렇게 하면 정렬을 할 필요도 없이 그냥 완전 탐색을 하는 느낌?? 그래서 틀렸음 처음엔 근데 정렬을 제대로 이용한 풀이는 반복문을 한번만 돌면서 h-index를 뽑아낼 수가 있었음 정렬을 한 후에 h를 1씩 감소시키면서 배열의 값과 비교해나가면 h보다 ..
[백준]11000번 강의실 배정 - Java
문제 https://www.acmicpc.net/problem/11000 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si { // (o1, o2): 오름차순으로 정렬한다 if (o1[0] == o2[0]) { return Integer.compare(o1[1], o..
[프로그래머스]가장 큰 수 - Java
문제 https://programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 풀이 처음엔 그냥 순열 문제인줄 알고 DFS로 풀려고 했는데 numbers의 길이가 10만이라 순열로 풀면 시간 초과나서 안되겠구나 싶었다,,, 그래서 정렬 문제라 해서 정렬로 풀려고 해봤는데 모르겠어서 해답을 찾아봤다 ㅠㅠㅠ 문자열(수)을 앞뒤로 이어 붙인 것 중에 큰 순서대로 정렬을 하면 ..
[프로그래머스]튜플 - Java
문제 https://programmers.co.kr/learn/courses/30/lessons/64065 코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr 풀이 문자열이 주어지는 규칙?을 잘 보고 필요한 원소들로 어떻게 잘 나눌 것인지를 고민해봐야 한다! String 배열을 String.length()의 오름차순으로 정렬해서 비교하고 넣어주면 순서에 맞게 들어간다 여기서 어떻게 String.length()의 오름차순으로 정렬하냐!!!!!!!!!! // Str..