전체 글 16

[문제풀이][PCCP 모의고사 1] 4번 운영체제

문제https://school.programmers.co.kr/learn/courses/15008/lessons/121686 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이PCCP 모의고사 1회 3번까지는 쉽게 풀고, 4번에서 좀 오랫동안 고민을 했던 것 같다.이 문제는 프로그램의 '호출'과 '실행' 시점이 동일하지 않다는 점 때문에 난이도가 좀 높았다고 생각한다.힙을 써야한다는 건 바로 알아챘는데, t(실행가능시점)를 1씩 증가시키다가 시간초과가 나서 코드를 수정하느라 시간이 걸렸다.- 여러 프로그램들 중 가장 점수가 작은 것을 뽑아내는 과정에서 힌트를 얻었다.- t를 현재 실행중인 프로그램의 종료시점으로 ..

[C#] HashSet을 이용한 중복 검사 최적화

데이터를 저장할 때, 이미 존재하는 key 값인지 확인하는 중복 검사 로직은 단순 반복문으로 처리하면 시간복잡도가 O(NxM)으로 급격히 비효율적이다.HashSet을 활용하면 이를 O(N+M)으로 최적화할 수 있다.N : 새로 저장하려는 데이터 개수M : 테이블(DB)에 이미 존재하는 데이터 개수여기서 이중루프를 돌면 시간복잡도가 O(N x M)이고, 데이터가 많아질수록 비효율적이다.그래서 HashSet을 이요한 최적화를 시도했고, DB에서 기존 값들을 한 번에 가져온 뒤, HashSet에 담아 O(1)로 중복 여부를 판별한다.실제 코드[원래 고려했던 방식]QueryParameterCollection param = new QueryParameterCollection();param.Add("CAT_LV1"..

언어/C# 2025.10.21

[문제풀이] 백준 18808번 스티커 붙이기

문제https://www.acmicpc.net/problem/18808 18808번: 스티커 붙이기혜윤이는 최근에 다양한 대회를 참여하면서 노트북에 붙일 수 있는 스티커들을 많이 받았다. 스티커는 아래와 같이 사각 모눈종이 위에 인쇄되어 있으며, 스티커의 각 칸은 상하좌우로 모두 연www.acmicpc.net풀이이 문제는 예제 입력 8개 모두 다 잘 통과되었는데도 '시간초과'가 자꾸 떠서 이유를 찾느라 꼬박 이틀을 들여다보았던 문제이다. 코드에 이상이 없는 것 같은데 도대체 무엇이 잘못되었는지 찾느라 아주 고생을 했었다.. ㅜ (갠적으로 코딩하면서 이게 젤 힘듦)아무튼 힘들게 얻은 성공인 만큼 문제의 원인을 기록하여 다음엔 틀리지 않기 위해 글을 남긴다. (그리고 그 누군가 이 문제를 풀며 '시간초과'가..

알고리즘/백준 2024.03.20

[문제풀이] 백준 1926번 그림

문제https://www.acmicpc.net/problem/1926 1926번: 그림어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로www.acmicpc.net풀이import sysdef bfs(x, y): dx = [0, 1, 0, -1] dy = [1, 0, -1, 0] w = 1 # 그림의 넓이 while queue: x,y = queue.pop() for i in range(4): new_x = x + dx[i] new_y = y + dy[i] if..

알고리즘/백준 2024.02.09

[학부연구생] BART(Bayesian Additive Regression Tree)

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6800811/ Bayesian additive regression trees and the General BART modelBayesian additive regression trees (BART) is a flexible prediction model/machine learning approach that has gained widespread popularity in recent years. As BART becomes more mainstream, there is an increased need for a paper that walks readers through ...www.ncbi.nlm.nih.gov학부연구생으로..

학부연구생 2023.12.08

[문제풀이] 백준 1956번 운동

https://www.acmicpc.net/problem/1956 1956번: 운동첫째 줄에 V와 E가 빈칸을 사이에 두고 주어진다. (2 ≤ V ≤ 400, 0 ≤ E ≤ V(V-1)) 다음 E개의 줄에는 각각 세 개의 정수 a, b, c가 주어진다. a번 마을에서 b번 마을로 가는 거리가 c인 도로가 있다는 의www.acmicpc.net플로이드 알고리즘에서 그래프(D)의 대각선 요소(D[i][i])를 0으로 초기화시키지 않은 채(즉, 매우 큰 수로 둔 채) 3중 for문을 돌리면 이 대각선 요소에 저장되는 값은 무엇이 될까?정답은 해당 지점(i)에서 다른 지점을 거쳐서 다시 해당 지점(i)으로 돌아오는 최소비용이 저장된다는 것이다. 강의에서 배운 알고리즘을 제대로 이해하고 코드를 작성한다고 생각하고 ..

알고리즘/백준 2023.08.17

[Android] AnimationDrawable class

https://developer.android.com/reference/android/graphics/drawable/AnimationDrawable AnimationDrawable | Android Developers developer.android.comDrawablae 객체를 연속적으로 정의해서 View 객체의 백그라운드로 사용함으로써 frame-by-frame 애니메이션을 만들 때 쓰이는 객체이다.가장 간단하게 구현하는 방법은 XML 파일(res/drawable/ folder에 위치함)에 애니메이션을 정의하고 나서 View 객체의 백그라운드로 설정하는 것이다.애니메이션을 실행할 때는 start() 를 호출하면 된다. // MainActivity.javaimport android.graphics..

안드로이드 2023.05.15

[Java] StringBuilder vs StringBuffer

https://www.geeksforgeeks.org/stringbuffer-class-in-java/ StringBuffer class in Java - GeeksforGeeksA Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.www.geeksforgeeks.org Mobile App Dev 자료를 공부하던 중 buffer 부분에서 StringBuffer라는 클래스를 사용한 것이 ..

안드로이드 2023.05.08

[Design Pattern] Factory Method & Abstract Factory

https://victorydntmd.tistory.com/300 [디자인패턴] 추상 팩토리 패턴 ( Abstract Factory Pattern )추상 팩토리 패턴 ( Abstract Factory Pattern )추상 팩토리 패턴이라는 이름만 봐서는 팩토리 메서드 패턴과 비슷해보이지만, 명확한 차이점이 있습니다. 팩토리 메서드 패턴조건에 따른 객체 생성을victorydntmd.tistory.com 1) Factory Method https://bcp0109.tistory.com/367 Factory 패턴 (2/3) - Factory Method (팩토리 메서드) 패턴1. Overview Factory 패턴은 객체 생성과 관련된 디자인 패턴입니다. 1편에서 봤던 Simple Factory 는 객체 생성..

디자인 패턴 2023.05.03