인사고과 : https://softeer.ai/practice/info.do?idx=1&eid=630문제를 처음 보았을때 각 난이도에 하나씩 값을 넣어보는 완전탐색밖에 생각이 나지 않았습니다. 하지만 제약조건에서 ci, di가 10^12인것을 보고 완전탐색은
회의실 배정 : https://softeer.ai/practice/info.do?idx=1&eid=626&sw_prbl_sbms_sn=143458Map<String, ArrayList<int\[]>> map을 통해 회의실 이름을 key로 하여 시작시
좌석관리 : https://softeer.ai/practice/info.do?idx=1&eid=625Map<String, int\[]> eatPos를 사용하여 현재 먹고 있는 사원의 위치를 저장합니다.boolean\[] isAlreadyEat을 사용하여
12100 2048(Easy) : https://www.acmicpc.net/problem/12100보드의 블럭을 상,하,좌,우 이동시키면서 같은 값을 가지는 블럭을 만났을때 블럭을 합쳐 보드에서 최대의 값을 반환하는 문제입니다.가장 많이 고민했던 부분은 블럭
2623 음악프로그램 : https://www.acmicpc.net/problem/2623순서를 정해야하는데, 순위에 먼저 수행해야하는 우선순위가 있다면, 위상정렬을 고려해보아야합니다.위상정렬에서 먼저 수행되어야할 것의 여부를 알기 위해서는 indegree를
성적 평가 : https://softeer.ai/practice/info.do?idx=1&eid=13093개의 대회에서 등수와 총 등수를 구해야하는 문제입니다.먼저 각 대회에서의 점수를 얻은 후 참가자와 참가자의 등수를 담은 우선순위 큐를 만들어줍니다.총 등수
금고털이 : https://softeer.ai/practice/result.do?eventIdx=1&submissionSn=SW_PRBL_SBMS_125927&psProblemId=395보석을 각각 비교하게된다면 시간초과가 발생하기 때문에 가방에 들어갈 보석들
업무 처리 : https://softeer.ai/practice/info.do?idx=1&eid=1256문제를 이해하는데 많은 시간이 소요된 문제였습니다.문제를 요약하자면말단 직원은 각 날짜에 남은 업무가 있다면 하나씩 작업을 수행하여 상사에게 작업을 올립니다
13164 행복 유치원 : https://www.acmicpc.net/problem/13164처음 풀이는 이분탐색을 이용하여 최소가 되는 비용을 찾도록 그룹을 만들어주도록 구현하였습니다.하지만 그룹에서 최소의 값을 찾아주는데 구현의 어려움이 있었고 다른 분의
18808 스티커 붙이기 : https://www.acmicpc.net/problem/18808스티커를 노트북의 왼쪽 위부터 탐색하며 다른 스티커와 겹치지 않는 부분에 붙여주고 모두 확인하였을때 붙일곳이 없다면, 스티커를 90, 180, 270도로 회전시키며
9663 N-Queen : https://www.acmicpc.net/problem/9663Queen이 서로 공격할 수 없는 모든 경우의 수를 찾아야하는 문제입니다.위와 같이 N=4인 2차원배열에서 Queen이 놓여져있다면 각 퀸들이 서로를 공격할 수 없는 경
1202 보석 도둑 : https://www.acmicpc.net/problem/1202주어진 보석과 담을 수 있는 가방을 모두 비교하여 최대값을 구할 수 있지만, O(N^2)의 시간복잡도가 발생하기 때문에 시간초과가 발생하게됩니다.가방이 담을 수 있는 무게가
11729 하노이 탑 이동 순서 : https://www.acmicpc.net/problem/11729 재귀함수를 이용한 문제입니다.1에서 N순으로 판을 옮겨야 하는것에 초점을 맞춰서 접근하였는데 해결이되지 않아 다른 분의 풀이에서 N부터 접근해야한다는 힌트를
1929 소수 구하기 : https://www.acmicpc.net/problem/1929에라토스테네스의 체를 이용한 문제입니다.에라토스테네스의 체는 2부터 M까지의 수 중 소수를 찾아낼수 있는 방법입니다.어떠한 수가 주어졌을때, 해당 수가 소수라면, 자신의
11404 플로이드 : https://www.acmicpc.net/problem/11404제목 자체가 '플로이드'라고 표시되어있어 플로이드와샬이라고 접근할 수 있습니다.하지만 문제를 보고 접근해보자면 A에서 B도시로 접근하는데 필요한 최솟값을 구해야합니다. A
N-Queen : https://school.programmers.co.kr/learn/courses/30/lessons/129522차원 배열로 완전탐색을 이용하여 문제를 구현하려하였으나, 시간초과와 구현이 잘 되지 않아서 다른분의 풀이를 참고하였습니다.일단
점 찍기 : https://school.programmers.co.kr/learn/courses/30/lessons/140107(x,y)에 대해서 원점부터의 길이는 d^2 = x^2 + y^2의 공식으로 구할 수 있습니다.이를 통해서 y가 0일때, x가 d보다
자바의 중요한 개념인 OOP의 특징에서 추상화에 대해 알아보기 위해 남궁성님의 자바의 정석 중 객체지향에 대해 학습하고 정리해보겠습니다.추상화란 공통적으로 사용되는 속성과 기능을 추출하여 정의하는 것입니다.참새와 독수리는 둘다 날개를 가지고 있고 날 수 있습니다. 하지
보행자 천국 : https://school.programmers.co.kr/learn/courses/30/lessons/1832자동차의 이동은 배열을 기준으로 아래와 오른쪽으로만 이동이 가능합니다.그리고 목적지까지 이동이 가능한 경로 개수를 구해야하는데, ci
프로그래밍을 하면서 "~을 사용하게 되면 결합도가 낮아지고, 응집도가 높아지는 장점을 가질 수 있다." 라는 이야기를 많이 본 경험이 있습니다. (특히 cs 공부하다보면)자주 보인다는것은 그만큼 중요하고 기초적인 이야기라는 뜻입니다.결합도는 무엇이고, 응집도는 무엇인지