Posts
begin_fill
Cancel

Spring IoC, DI란?

IoC(Inversion of Control) 번역하면 제어의 역전이다. 이게 무슨말일까 설명을 들으면 이해가 된다. 기존 프로그램은 클라이언트 구현 객체가 스스로 필요한 서버 구현 객체들을 생성하고, 연결하고 실행했다. 예를들면 운전자가 차를 고를 수 있는 상황을 생각해보자 Interface Car 1 2 3 public interface Car...

백준 11070 피타고라스 기댓값 c++

문제 https://www.acmicpc.net/problem/11070 문제해설 2팀이 주어지고 각각 득점한 수가 주어진다. 득점과 실점을 구하여 계산식에 맞게 기댓값을 구한 후 팀 중의 최대와 최소 기댓값을 구하면 된다. 문제풀이 간단해보이는 문제인데 참 많이 틀렸다. 결국 틀린 이유는 마지막 개행문자를 안넣어서 그랬다…. 문제를 틀릴만한 ...

백준 18512 점프 점프 c++

문제 https://www.acmicpc.net/problem/18512 문제해설 두 명의 학생이 각각 p1, p2에서 출발해서 x와 y만큼 점프를 한다. 시작지점에서 가장 가까운 두 학생이 만나는 점을 구하면 된다. 문제풀이 두 명을 각각 x와 y만큼 증가시키며 동일한 지점에서 만날 수 있는지 확인해준다. 100만큼 돌리며 그 안에 안나오면...

백준 1027 고층 건물 c++

문제 https://www.acmicpc.net/problem/1027 문제해설 높이가 다른 건물들의 높이 n개가 주어진다. 옥상에서 다른 건물들이 가장 많이 보이는 빌딩의 번호를 출력하면 된다. 문제풀이 이 문제는 기울기를 이용해 풀었다. 2중 반복문을 돌며 현재 건물 기준으로 다른 건물들의 기울기를 전부 계산해준다. 기울기가 계산해둔 최대값...

백준 3213 피자 c++

문제 https://www.acmicpc.net/problem/3213 문제해설 N명의 친구들이 피자를 먹는다. 친구들은 1/4, 1/2, 3/4 판을 먹을 수 있다. 다만 1/2을 먹는 친구 2명이서 한판을 나눠 먹을 수는 있지만 3/4를 먹는 2명과 1/2을 먹는 1명이 2판을 먹을 수는 없다. 1/2를 먹는 친구가 1/4와 1/4로 나눠서 먹...

객체지향 설계의 5원칙 SOLID

SOLID 단일 책임 원칙(single responsibility principle) 개방-폐쇄 원칙 (Open/closed principle) 리스코프 치환 원칙 (Liskov substitution principle) 인터페이스 분리 원칙 (Interface segregation principle) 의존관계 역전 원칙 (Dep...

백준 1684 같은 나머지 c++

문제 https://www.acmicpc.net/problem/1684 문제해설 n개의 정수로 된 수열이 존재한다. 모든 수를 같은 수 D로 나누었을 때 모든 수의 나머지가 같아지는 D가 존재한다. 이 D는 여러개 존재할 수 있으며 가장 큰 D를 구하면 된다. 문제풀이 어떤 수 x1이 존재하고 이 수를 D로 나눴을 때의 몫을 p1 나머지를 q라...

백준 17520 Balanced String c++

문제 https://www.acmicpc.net/problem/17520 문제해설 n이 주어지면 길이가 n인 이진수들 중에 0과 1의 개수 차이가 1이하인 수의 개수를 출력해주면 된다. 문제풀이 직접 1부터 해보다보면 규칙성을 발견할 수 있다. 짝수에서 홀수로 증가할 때는 경우의 수가 2배로 커지고 홀수에서 짝수로 증가할 때는 경우의 수가 그대...

백준 6146 신아를 만나러 c++

문제 https://www.acmicpc.net/problem/6146 문제해설 (0, 0)에서 출발하여 (x, y)에 도달할 수 있는 최단경로를 구한다. 다만 중간중간 물 웅덩이가 있는데 웅덩이는 피해야한다. 문제풀이 어렵지않은 bfs문제이다. 다만 입력되는 범위가 -500~500 이기때문에 입력받는 값에 전부 500을 더해서 1000X100...

백준 19637 IF문 좀 대신 써줘 c++

문제 https://www.acmicpc.net/problem/19637 문제해설 전투력 기준 m개와 전투력 n개가 주어지면 순서대로 기준에 맞는 칭호를 붙여주면 된다. 문제풀이 굉장히 간단해보이는 문제다. 하지만 m개를 다 탐색하는 O(mn)으로 푼다면 시간초과가 발생한다. 그렇기때문에 탐색하는데 log의 시간이 걸리는 방법을 사용해야 한다....