분류 전체보기 613

[Hash] 완주하지 못한 선수

import java.util.*; class Solution { public String solution(String[] participant, String[] completion) { Map map = new HashMap(); //참가자를 HashMap에 입력 for(String name : participant){ if( map.get(name) == null ){ map.put(name, 1); }else{ int value = map.get(name) + 1; map.put(name, value); } } //완주자는 value를 1씩 감소 for(String name : completion){ int value = map.get(name) - 1; map.put(name, value); } ..

객체(Object) 정렬

방법1. Comparable 인터페이스 구현package com.company; import java.util.Arrays; import java.util.Collections; public class Main { public static void main(String[] args) { People[] people = new People[5]; people[0]=new People("할배", 50); people[1]=new People("민경", 25); people[2]=new People("초딩", 11); people[3]=new People("아재", 40); people[4]=new People("용수", 25); //정렬 Arrays.sort(people); for(People p:peopl..

[BFS] 미로탐색

2178. 미로 탐색 성공시간 제한메모리 제한제출정답맞은 사람정답 비율2 초128 MB3835212107754830.979%문제N×M크기의 배열로 표현되는 미로가 있다.101111101010101011111011미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타낸다. 이러한 미로가 주어졌을 때, (1, 1)에서 출발하여 (N, M)의 위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 프로그램을 작성하시오.위의 예에서는 15칸을 지나야 (N, M)의 위치로 이동할 수 있다. 칸을 셀 때에는 시작 위치와 도착 위치도 포함한다.입력첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로..

진수의 홀수 약수

5213. 진수의 홀수 약수https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWT-hF8KdBADFAVT 범위가 1,000,000이라 그냥 구하면 시간초과. [1]미리 홀수약수의 합을 memo[]에 구해놓는다. 배수를 이용한다. [2]미리 홀수약수 합들을 구해놔도 범위를 많이주면 찾는데 오래걸린다.부분합을 미리 구해놓는다.검색해보니 인덱스트리를 이용하는 방법도 있던데, 그냥 부분합만 구해도 통과된다. package com.company; import java.util.Scanner; public class Main { static Scanner sc = new Scanner(System.in); static ..

[DP] 1로 만들기

https://www.acmicpc.net/problem/1463 1로 만들기 성공시간 제한메모리 제한제출정답맞은 사람정답 비율2 초128 MB50295163311061132.185%문제정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다.X가 3으로 나누어 떨어지면, 3으로 나눈다.X가 2로 나누어 떨어지면, 2로 나눈다.1을 뺀다.정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오.입력첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 자연수 N이 주어진다.출력첫째 줄에 연산을 하는 횟수의 최솟값을 출력한다.예제 입력 1 복사2 예제 출력 1 복사1 예제 입력 2 복사10 예제 출력 2 복사3 힌트10의 경우에 ..

Modal 띄우기

Angular에서 Modal띄우는 방법.순수 javascript modal과 약간 다르다. Installnpm install angular-custom-modal Usageapp.module.tsimports: [ ... ModalModule, ... ], ... }) http://jasonwatmore.com/post/2017/01/24/angular-2-custom-modal-window-dialog-box나머지는 여기 보로 따라하면 된다. 아래는 내가 사용했던 소스 html {{modalText}} 확인 componentopenUrlModal(){ this.modalText="URL이 클립보드에 복사되었습니다." this.modalService.open('url-modal'); } closeModa..

타입단언 as Type, <Type>

vs as Type타입 단언 문법은 과 as Type 으로 두 종류다. 아래처럼 사용할 수 있다.1 2 (character).fireBall(); (character as Wizard).fireBall(); 그냥 보기에는 키워드가 좀 더 깔끔해보이지만, 대개 as Type 키워드가 추천된다. React 와 React 에서 빼놓을 수 없는 문법인 JSX 를 사용하는 경우 키워드는 JSX 의 문법과 겹치기 때문에 불편한 면이 있다. *내가 봤던 경우this.context = (this.myCanvas.nativeElement).getContext('2d'); this.context = (this.myCanvas.nativeElement as HTMLCanvasElement).getContext('2d');

Canvas 사용하기

1. 검색해서 나온 것처럼 getElement.. 이런거 쓰면 잘 안된다. Angular방식이 따로 있음. 2. HTML소스에 이렇게 넣고.. 3. 요런식으로 쓴다 import { ViewChild, ElementRef } from '@angular/core'; ... // Somewhere above your class constructor @ViewChild('myCanvas') myCanvas: ElementRef; public context: CanvasRenderingContext2D; // Somewhere under the class constructor we want to wait for our view // to initialize ngAfterViewInit(): void { this...

[Firebase] Cloud Firestore OR과 LIKE구현하기

Cloud Firestore OR과 LIKE를 제공하지 않는다. 직접 코드로 구현해야 한다. 1.검색//검색 EditText read_database_activity_edittext.addTextChangedListener(object : TextWatcher{ override fun afterTextChanged(p0: Editable?) { searchList(p0.toString()) } override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) { } override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) { } }) 2.LIKE fun sear..

Android/Firebase 2018.08.02

[Firebase] CloudStore 복합쿼리

원래 없었는데 CloudStore로 바뀌면서 Join같은 게 생겼다.스피너로 도시와 나이를 선택하면 동시에 적용되서 검색되도록 하는 코드. //도시선택 스피너 recyclerview_read_database_spinner_city.onItemSelectedListener = object : AdapterView.OnItemSelectedListener{ override fun onNothingSelected(p0: AdapterView?) { } override fun onItemSelected(p0: AdapterView?, p1: View?, p2: Int, p3: Long) { city = p0!!.getItemAtPosition(p2) as String listBySpinner() } } //나이..

Android/Firebase 2018.08.01