https://www.acmicpc.net/problem/10814

 

10814번: 나이순 정렬

온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을

www.acmicpc.net

testCase = int(input())
cus_info = list()

for _ in range(testCase):
    age, name = input().split()
    cus_info.append([int(age), name])
cus_info = sorted(cus_info, key = lambda x:x[0])
for cus in cus_info:
    print(cus[0], cus[1])

위 코드는 sorted 함수에 인자 값으로 key = lambda x:x[0] 을 매개변수로 주어 2개의 원소중 나의 값만으로 정렬 되게 한 것이 핵심 포인트이다.

https://programmers.co.kr/learn/courses/30/lessons/42746?language=python3 

 

코딩테스트 연습 - 가장 큰 수

0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰

programmers.co.kr

 

from itertools import permutations

def solution(numbers):
    
    numbers = list(map(str,numbers))
    strs = []
    permus = list(permutations(numbers,len(numbers)))

    for permu in permus:
        str1 = ''
        str1 = str1.join(permu)
        strs.append(str1)
            
    return max(strs)

위 코드는 기능은 잘 되는 것 같지만 시간 초과로 아쉽게 코딩 테스트를 통과할 수 없었다. 하지만 permutations 라이브러리를 익힐 수 있는 좋은 예제 코드로 탄생한 것 같아 기록에 남긴다. 

i번 숫자부터 j번째 숫짜까지 자르려고 한다면 아래와 같은 방법으로 사용할 수 있다.

Arrays.copyOfRange(배열, i-1, j)

 

그리고 자른 배열을 사용하기위해 아래와 같이 사용한다.

int[] arr1 = Arrays.copyOfRange(배열,i-1, j)

 

정렬에 필요한 라이브러리 임포트

import java.util.Arrays;

정렬

Arrays.sort(arr);

정렬은 String도 가능해보이며 결과로 봤을때 알파벳 순으로 정렬하는 것 같다.

 

역정렬

Arrays.sort(arr,Collections.reverseOrder());

 

'알고리즘' 카테고리의 다른 글

프로그래머스 가장 큰 수[파이썬]  (0) 2021.11.01
자바 배열 자르기 copyOfRange()  (0) 2021.10.29
[java -heap]PriorityQueue 최소값 반환  (0) 2021.10.28
더 맵게[python3]  (0) 2021.10.27
python - heapq 힙  (0) 2021.10.27
공통점 /와 //는 둘다 나눗셈이다.
차이점 /는 결과가 float로 나타난다. //는 결과가 int로 나타난다.

ex)만약에 이진 탐색과 같이 리스트의 길이를 2로 나눈 값을 다시 인덱스로 활용할때 //를 사용해야한다.

임포트 방법

import java.util.PriorityQueue;

생성 방식

PriorityQueue<Integer> heapq = new PriorityQueue<>();

배열로부터 데이터 할당 방식

         for (int s: scoville) {
             pqScov.add(s);
         }

pop 방식

heapq.remove()

peek 방식

heapq.peek()

요소 갯수 리턴 방식

heap.size()

 

'알고리즘' 카테고리의 다른 글

자바 배열 자르기 copyOfRange()  (0) 2021.10.29
자바 배열 정렬  (0) 2021.10.29
더 맵게[python3]  (0) 2021.10.27
python - heapq 힙  (0) 2021.10.27
[알고리즘] 버블 정렬(Bubble Sort)  (0) 2020.06.28

해당되는 리스트의 속성 list-style: none으로 설정한다.

list-style: none

'' 카테고리의 다른 글

kendo maxlength  (0) 2021.12.20
kendo ui schema  (1) 2021.12.03
select tag onchange  (0) 2021.12.01

https://programmers.co.kr/learn/courses/30/lessons/42626?language=python3 

 

코딩테스트 연습 - 더 맵게

매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같

programmers.co.kr

 오늘 heap을 활용해 더 맵게라는 문제를 풀었다. 

import heapq

def solution(scoville, K):
    answer = 0
    heapq.heapify(scoville)
    
    while len(scoville) >=2:   
        min1 = heapq.heappop(scoville)
        min2 = heapq.heappop(scoville)
        temp = min1 + min2*2
        heapq.heappush(scoville,temp)
        answer +=1
        if K <= scoville[0]:
            return answer      
    return -1

모든 음식의 스코빌 지수가 K 이상이어야 문제가 해결 되는 것인데

최초로 섞은 음식값이 K 값을 넘었을 때 값을 리턴해버리는 실수를 해서 해결하는데 오래걸렸다. 

 

'알고리즘' 카테고리의 다른 글

자바 배열 정렬  (0) 2021.10.29
[java -heap]PriorityQueue 최소값 반환  (0) 2021.10.28
python - heapq 힙  (0) 2021.10.27
[알고리즘] 버블 정렬(Bubble Sort)  (0) 2020.06.28
[알고리즘] 선택 정렬(Selection Sort)  (0) 2020.06.28

heapq 모듈은 이진 트리(binary tree) 기반의 최소 힙(min heap)자료구조를 제공한다.

 

사용법

import heapq

# 자료형은 특수한 자료형이 아닌 리스트이다.
heap = []
# 값 넣는 방법
heapq. heappush(heap, 4)
# 값 빼는 법
print(heapq.heappop(heap))
# 값 삭제하지 않고 얻기
print(heap[0])
# 기존 리스트를 힙으로 변환
heapq.heapify(heap)

'알고리즘' 카테고리의 다른 글

자바 배열 정렬  (0) 2021.10.29
[java -heap]PriorityQueue 최소값 반환  (0) 2021.10.28
더 맵게[python3]  (0) 2021.10.27
[알고리즘] 버블 정렬(Bubble Sort)  (0) 2020.06.28
[알고리즘] 선택 정렬(Selection Sort)  (0) 2020.06.28

https://docs.devexpress.com/WindowsForms/DevExpress.XtraEditors.ButtonEdit <참조>

 

ButtonEdit Class | WinForms Controls | DevExpress Documentation

ButtonEdit Class The text editor that displays buttons in the edit box. Namespace: DevExpress.XtraEditors Assembly: DevExpress.XtraEditors.v21.1.dll Declaration C# VB.NET public class ButtonEdit : TextEdit Public Class ButtonEdit Inherits TextEdit The foll

docs.devexpress.com

ButtonEdit 을 클릭 후 우측위에 나타나는 화살표 버튼을 클릭하고 나타나는 창에서 Buttons 를 선택한다.

 

kind로 버튼 종류를 선택한다. 

추가하게 되면 아래와 같이 해당 버튼들이 에디터에 추가된다.

위와 같은 이미지 처럼 사용할 수 있다. 

ButtonClick 이벤트는 버튼 클릭시 발생하며 Kind를 통해 어떤 버튼을 클릭했는지 구별할 수있다.

'DevExpress' 카테고리의 다른 글

AllowCellMerge  (0) 2021.09.23
Change Editor Type  (0) 2021.09.17
Cell Merge  (0) 2021.03.19
Group Summary  (1) 2021.03.19

+ Recent posts