본문 바로가기

전체 글

(163)
배열 내림차순 정렬 문제: 배열을 오름차순으로 정렬하려면 import java.util.Arrays; Arrays.sort(배열); 내림차순으로 정렬하려면 Arrays.sort(배열, Collections.reverseOrder()); 로 알고 있었는데 오류가 났다. /Solution.java:7: error: no suitable method found for sort(int[],Comparator) Arrays.sort(people, Collections.reverseOrder()); ^ method Arrays.sort(T#1[],Comparator
백준 11399 String[] -> Int[] import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String input = br.readLine(); String input2 = br.readLine(); int num = Integer.parseInt(input); String[] arr2 = input2.split(" "); in..
백준 16435 BufferedReader와 Scanner BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String input = br.readLine(); String input2 = br.readLine(); int num = Integer.parseInt(input.split(" ")[0]); int length = Integer.parseInt(input.split(" ")[1]); String[] arr = input2.split(" "); Arrays.sort(arr); for(int i=0; i
탐욕(그리디) 알고리즘 쉬운 문제라서 한 번에 맞혔다. 근데 그리디로 푼 건지 모르겠어서 더 좋은 방법이 있나 찾아보는 중 class Solution { public int solution(int n, int[] lost, int[] reserve) { int[] student = new int[n]; for(int i : lost){ student[i-1] -=1; } for(int i : reserve){ student[i-1] +=1; } for(int i=0; i
Flutter - 사진 업로드 비동기 처리 문제 : FireStorage에 사진을 업로드하고 그 사진을 firebase에 업로드하고 싶었는데 사진 업로드가 시간이 걸려서 AddPage에서 ListPage로 넘어가는 체감 시간이 너무 길었다. 과정 : 비동기식으로 파일업로드가 되어야 그 밑에 코드가 실행이 됐었는데 화면을 닫는 코드만 await 위에 작성했다. Future uploadFile() async { StorageReference storageReference = FirebaseStorage.instance .ref() .child('upload/${path.basename(_image.path)}'); StorageUploadTask uploadTask = storageReference.putFile(_image); Navigator.p..
Flutter - StreamBuilder 데이터 변경시 화면 다시 그리기 원하는 동작 목록에서 아이템을 클릭하면 해당 아이템의 정보를 가지고 Detail 페이지로 넘어간다. 처음에는 타이틀 등 정보를 String값으로 담아서 화면 전환을 시켰다. 보이고자하는 요소들은 다 보여줄 수 있었지만 버튼 사용이 불가능했다. 이전 페이지와 동일한 동작이 필요했다. 처음 시도 그 다음에는 내가 필요한 객체를 넘겼다. 버튼 사용시 동작하는 함수도 전역으로 옮겼다. 버튼 사용이 가능은 했는데 결과를 화면에 바로 반영할 수 없었다. 문제 이전 화면에서는 버튼을 클릭하면 바로 그에 맞게 화면이 바뀐다. 하지만 detail에서는 그렇지 않다. 이유는 StreamBuilder를 사용하지 않았기 때문이다. stream에 firebase의 db document의 값을 연결해두는 것이다. 목록 화면에서는..
Flutter - Firestore orderBy 조건 여러개 설정하기 문제 : 파이어베이스에 저장된 DB로부터 데이터를 가져오는데 orderBy에 대한 조건을 2개 쓰고 싶었다. 일단 bool값을 우선으로 해서 false인 것을 상단에 위치시키고 그 안에서 날짜 순으로 배열하고 싶었다. 파이어베이스의 인스턴스로부터 가져오는 stream에 orderBy 조건을 두개 넣어보았다. stream: Firestore.instance .collection('todo') .orderBy('isDone') .orderBy("expired") 내가 원하는 순서로 정렬은 됐는데, 변경된 데이터 값이 바로 화면에 적용되지 않았다. 검색해보니 orderBy를 여러개 쓰거나 where문을 같이 쓸 경우 충돌이 난다고 한다... stream에서 bool을 기준으로 orderBy를 하고 밑에서 co..
1로 만들기 1. N = N - 1 로 만드는 방법 (비용 A) 2. N = N / K 로 만드는 방법 (비용 B , 나누어지는 경우에만 가능) N을 1로 만들 수 있는 최소 비용을 찾는 문제이다. while문의 첫번째 if문 조건이 핵심이라고 볼 수 있는데, n을 k로 나눌 수 없는 경우 선택지가 a밖에 없으므로 n을 k로 나누었을 때의 나머지 * 비용 a < 비용 b 이면 1번 방법을, 아니면 2번 방법을 택하는 방식이다. 사실 여기까지만 해서 틀렸다. 즉, n%k==0인 경우를 조건에 넣어주지 않았기 때문에 n이 k로 나누어 지는 경우 0으로 판단되어 2번째 방법이 아예 실행되지 않았기 때문이다. 여기까지는 내가 작성한 코드인데 DP로 짜는 방법이 궁금해서 찾아보았다. (사실 테스트에서 돌려보지 않아서 100%..