728x90
반응형

분류 전체보기 154

[프로그래머스] 디펜스 게임 c++ (우선순위 큐)

문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/142085 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 최대한 많은 라운드를 진행시켜야 한다. 필자가 생각한 방법은 아래와 같다. 1. 우선 막지 못할때까지 병사를 소모한다. 2. 막지 못할 경우, 가장 많은 병사를 사용했던 곳에 무적권을 사용한다. (priority_queue) 3. 무적권을 다 쓰면 종료한다. 따라서, for문을 순회하며 priority_queue에 병사의 수를 push 하고, 무적권이 있는 경우 우선순위 큐에..

Tech/Algorithm 2023.09.12

[프로그래머스] 미로 탈출 c++ (bfs)

문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/159993 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 전형적인 bfs 문제인데, 중간에 레버를 거친 후 출구로 가야한다. 따라서 시작 지점 -> 레버, 레버 -> 출구 이렇게 2번의 bfs를 돌리면 된다. bfs 함수 하나를 선언하고 재사용하는 방식으로 구현하였다. 시작 -> 레버 or 레버 -> 출구 bfs 중 가지 못하는 경우 -1 을 리턴하여 에러를 판별한다. 코드 #include #include #include #incl..

Tech/Algorithm 2023.09.08

[Spring] 스프링 빈이란? 스프링 빈 정리 (등록방식, 스코프)

스프링을 사용해봤다면 무조건 들어봤을 빈에 대해 잘 모르고 지나치는 경우가 많다. 따라서 이번 기회에 정리를 해보았다. 스프링 빈이란? 스프링 빈은 스프링 컨테이너에 의해 관리되는 자바 객체(POJO)를 의미한다. 스프링 컨테이너 스프링 컨테이너는 스프링 빈의 생명 주기를 관리하며, 생성된 스프링 빈들에게 추가적인 기능을 제공하는 역할을 한다. IoC와 DI의 원리가 스프링 컨테이너에 적용된다. 스프링 컨테이너를 사용하면 객체 생성 소멸을 대신해 줌 → 제어 흐름을 외부에서 관리하게 된다. 또한, 객체들 간의 의존 관계를 스프링 컨테이너가 런타임 과정에서 알아서 만들어 준다. 스프링 빈 등록 방식 Component Scan 컴포넌트 스캔은 @Component를 명시하여 빈을 추가하는 방법이다. 클래스 위..

Tech/Spring 2023.08.01

[BOJ] 백준 14728 벼락치기 c++ (배낭, dp)

문제 출처 : https://www.acmicpc.net/problem/14728 14728번: 벼락치기 ChAOS(Chung-ang Algorithm Organization and Study) 회장이 되어 일이 많아진 준석이는 시험기간에도 일 때문에 공부를 하지 못하다가 시험 전 날이 되어버리고 말았다. 다행히도 친절하신 교수님께서 아래와 www.acmicpc.net 풀이 전형적인 배낭문제이다. 입력 받은 pair 벡터를 순회하며 값마다 dp 배열을 업데이트 하면 된다. 여기서 for문을 뒤부터 돌린 이유는, 문제 조건에 한 단원에 한 문제를 출제한다. 라고 명시되어 있기 때문이다. for문을 앞부터 돌리면 중복된 값이 계속해서 누적되기 때문에 뒤부터 돌린다. 최댓값을 구하므로, dp[j] 는 dp[j..

Tech/Algorithm 2023.08.01

[ICT 학점연계 인턴십] 2023년 상반기 ICT 인턴십 후기, 미리캔버스 프론트엔드 인턴 후기

2023년 1학기에 ICT 인턴십 후기를 남겨보고자 한다. 필자가 다닌 회사는 디자인 플랫폼 미리캔버스를 서비스하는 회사였다. (현재 누적 가입 천 만명, MAU 200만 이상으로 가파르게 성장중!) https://www.miricanvas.com/ 디자인 플랫폼 미리캔버스 디자인 작업이 필요한가요? 5만개 이상의 무료 템플릿으로 간편하고 편하게 원하는 디자인을 만들 수 있어요. www.miricanvas.com 개요 지원/합격 후기는 아래에서 확인할 수 있습니다! (전체 과정) [ICT 학점연계 인턴십] 2023년 상반기 ICT 인턴십 최종 합격 후기 (서류, 코딩테스트, 면접) 개요 매해 여름/겨울 방학 시즌에 ict 인턴을 모집한다! 처음에는 학교를 다닐 계획이었으나 전공 6, 교양 9학점까지 얻을..

Career 2023.07.15

[BOJ] 백준 9466 텀 프로젝트 c++ (dfs)

문제 출처 : https://www.acmicpc.net/problem/9466 9466번: 텀 프로젝트 이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀원 수에는 제한이 없다. 심지어 모든 학생들이 동일한 팀의 팀원인 경우와 같이 한 팀만 있을 www.acmicpc.net 풀이 프로젝트 팀에 속하지 못한 학생의 수를 구하는 문제이다. 방문 완료 처리(done) - dfs 기존 dfs에서 check(방문)배열은 많이 사용했었지만, 이 문제는 방문 완료(done) 처리가 필요하다. 한 프로젝트에 참여하는 모든 팀원을 구하기 위해, check 되지 않았다면 dfs를 재귀호출한다. 그 후 for문을 통해 팀원의 카운트를 구한 후, 방문 완료 처리를 한다. void..

Tech/Algorithm 2023.07.15

[BOJ] 백준 1939 중량제한 c++ (이분탐색, bfs)

문제 출처 : https://www.acmicpc.net/problem/1939 1939번: 중량제한 첫째 줄에 N, M(1 ≤ M ≤ 100,000)이 주어진다. 다음 M개의 줄에는 다리에 대한 정보를 나타내는 세 정수 A, B(1 ≤ A, B ≤ N), C(1 ≤ C ≤ 1,000,000,000)가 주어진다. 이는 A번 섬과 B번 섬 사이에 중량제한이 www.acmicpc.net 풀이 공장을 운영할 섬 2개가 주어지고, 물품들의 중량의 최댓값을 구하는 문제이다. 이분탐색으로 중량의 최댓값 찾기 대부분의 이분탐색 코드는 아래와 유사하다. left, right를 두고 mid 값을 찾은뒤, mid 값이 조건에 일치하면 left 값을 mid +1, 그렇지 않으면 right 값을 mid-1로 변경한다. whi..

Tech/Algorithm 2023.07.13

[정처기] 2023 정보처리기사 2회 필기 합격 후기

2023 정보처리기사 2회 필기 시험을 보았고 합격했다! 공부방법 필자는 컴퓨터 전공이라 기존에 아는 부분이 꽤 많아 교재는 따로 구매하지 않았다. 교재는 딱히 추천하지 않고 싶고, 무조건 기출 많이 풀어보는 것을 추천한다. 아래 사이트에서 바로 풀 수 있는데, 많이 풀고 오답노트 만들어서 그 부분 위주로 보자! 필자는 2~3년치 풀었었다. https://www.comcbt.com/xe/iz 정보처리기사 필기 기출문제 전자문제집 CBT - 최강 자격증 기출문제 전자문제집 CBT 정보처리기사 필기 기출문제 전자문제집 CBT www.comcbt.com 꼭 보고 가야할 부분 (전공자 기준) 각 과목당 최소 점수가 있기 때문에, 1, 5과목은 좀 더 공부해야 할 것이다! 과목당 아래 정보는 최소한으로 알고 가는..

Career 2023.07.10

[BOJ] 백준 1515 수 이어 쓰기 c++ (문자열, 구현)

문제 출처 : https://www.acmicpc.net/problem/1515 1515번: 수 이어 쓰기 세준이는 1부터 N까지 모든 수를 차례대로 공백없이 한 줄에 다 썼다. 그리고 나서, 세준이가 저녁을 먹으러 나간 사이에 다솜이는 세준이가 쓴 수에서 마음에 드는 몇 개의 숫자를 지웠다. 세준 www.acmicpc.net 풀이 브루트포스로 숫자를 증가시키며 풀이하는 문제이다. 예시로 입력 - 234092 가 있다고 하자. 처음 포인터는 0번(2)를 가리킨다. 처음 숫자(num)을 0부터 시작해서 반복문을 돌려 증가시킨다. num 0 .. 1 .. 2에서 포인터가 가리키는 2와 일치하게 된다. 이 경우 포인터를 증가시킨다. 이제 포인터는 1번(3)을 가리키고, num은 3이다. 포인터의 수와 num이..

Tech/Algorithm 2023.07.06

[BOJ] 백준 18428 감시 피하기 c++ (백트래킹)

문제 출처 : https://www.acmicpc.net/problem/18428 18428번: 감시 피하기 NxN 크기의 복도가 있다. 복도는 1x1 크기의 칸으로 나누어지며, 특정한 위치에는 선생님, 학생, 혹은 장애물이 위치할 수 있다. 현재 몇 명의 학생들은 수업시간에 몰래 복도로 빠져나왔는데, 복 www.acmicpc.net 풀이 dfs로 장애물을 찾고 해당 경우가 조건에 맞는지 판별하는 대표적인 백트래킹 문제이다. 처음 입력을 받을때 teacher(T), none(X)를 vector에 저장해두고 none 자리의 경우의 수를 dfs로 찾는다. 이때 다른 문제와 좀 다른 점은, vector에 push와 pop을 하는대신 바로 arr에 O와 X문자열을 대입해준 점이다. 3개를 찾으면 check_av..

Tech/Algorithm 2023.07.05
728x90
반응형