공통점 | /와 //는 둘다 나눗셈이다. |
차이점 | /는 결과가 float로 나타난다. //는 결과가 int로 나타난다. |
ex)만약에 이진 탐색과 같이 리스트의 길이를 2로 나눈 값을 다시 인덱스로 활용할때 //를 사용해야한다.
공통점 | /와 //는 둘다 나눗셈이다. |
차이점 | /는 결과가 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
오늘 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 을 클릭 후 우측위에 나타나는 화살표 버튼을 클릭하고 나타나는 창에서 Buttons 를 선택한다.
kind로 버튼 종류를 선택한다.
추가하게 되면 아래와 같이 해당 버튼들이 에디터에 추가된다.
위와 같은 이미지 처럼 사용할 수 있다.
ButtonClick 이벤트는 버튼 클릭시 발생하며 Kind를 통해 어떤 버튼을 클릭했는지 구별할 수있다.
AllowCellMerge (0) | 2021.09.23 |
---|---|
Change Editor Type (0) | 2021.09.17 |
Cell Merge (0) | 2021.03.19 |
Group Summary (1) | 2021.03.19 |
how to
mainview.OptionsView.AllowCellMerge = true;
mainview.CellMerge += CellMerge;
private void CellMerge(object sender, CellMergeEventArgs e)
{
GridView mainview = (this.ViewList["GridMain"] as C_GridControl).MainView as GridView;
if (e.Column.FieldName == "CUSTOMERID")
{
var d1 = mainview.GetDataRow(e.RowHandle1);
var d2 = mainview.GetDataRow(e.RowHandle2);
e.Merge = d1["CUSTOMERID"].ToString().Equals(d2["CUSTOMERID"].ToString());
}
else
{
e.Merge = false;
}
e.Handled = true;
}
DevExpress.XtraEditors.ButtonEdit ADD BUTTON (0) | 2021.10.01 |
---|---|
Change Editor Type (0) | 2021.09.17 |
Cell Merge (0) | 2021.03.19 |
Group Summary (1) | 2021.03.19 |
디자이너에서 변경을 원하는 에디터를 클릭후 우측상단에 나타나는 플레이 버튼을 클릭하여 Editor Type을 변경할 수 있다. 저자의 경우 buttonEdit을 TextEdit으로 변경해야 해서 해당 기능이 필요했다.
DevExpress.XtraEditors.ButtonEdit ADD BUTTON (0) | 2021.10.01 |
---|---|
AllowCellMerge (0) | 2021.09.23 |
Cell Merge (0) | 2021.03.19 |
Group Summary (1) | 2021.03.19 |
아래와같이 async 함수를 통해서 string을 추출해내는 방법이 있다.
async void For_shipId(Task<string> task)
{
string result = await task;
HybridDictionary returnValue = WebApiClient.JosonPasing<HybridDictionary>(result);
if(_shipid == "" && returnValue["OUTKEY"] != null)
_shipid = returnValue["OUTKEY"].ToString();
}