문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWngfZVa9XwDFAQU SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 창용마을에 살고 있는 사람들의 무리 개수를 구하는 문제였다. 문제 풀이 창용마을에 사는 사람들을 입력받아 그래프 벡터에 저장하고, 1부터 N까지의 사람들이 방문되지 않았다면 dfs를 돌려 그 사람과 연결된 사람들을 방문처리 해주며 풀었다. 이때 dfs를 돌린 횟수가 무리의 개수와 동일하다. #define _CRT_SECURE_NO_WARNINGS #include #include using na..
문제 https://swexpertacademy.com/main/code/userProblem/userProblemDetail.do?contestProbId=AWKaG6_6AGQDFARV SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 맵에 규칙적으로 생성되고 사라지는 소용돌이가 있다. 이를 감안해서 출발지부터 목적지까지 가장 빠르게 도달하는 최단 경로를 구하는 문제였다. 문제 풀이 우선순위 큐를 이용해 bfs로 풀었다. 이때 다음 위치가 소용돌이라면 기다려야 하는 시간을 계산해서 더해서 queue에 넣어줬다. 가장 먼저 목적지에 도달한 경로가 최단 경로이다. 처음에 info 구조체에 visit vector를 ..
싸피 11기에 합격했다~ 룰루~ 사실 코테는 계속해서 준비하고 있었고, 면접도 이전에 봤던 망한면접을 계기로 어떻게 봐야 할지 감을 좀 잡아서 이전보다는 준비하기가 조금 더 수월했다. 내 스펙 스펙이라기엔 좀 큐티한 어쩌군데 일단 이렇다. 3.5 조금 넘는 학점 정보처리기사 SQLD OPIC IM1 단기 플젝 2개 코테 코테는 계속해서 문제를 풀면서 준비를 해왔어서 싸피 코테를 위해서 더 준비한 부분은 없었다. 코테 문제는 실버 정도의 난이도였던 것 같다. 테케는 다 통과했는데, 점수는 나오지 않아서 몇 점인지는 잘 모르겠다. 에세이 에세이도 500자 정도의 짧은 글을 쓰는 것이라 싸피에 대한 열정과 나의 부족한 점을 어떻게 보완하고 싶은지 등을 중점으로 적었다. 인터뷰 즉흥 주제로 PT 면접을 하는 것..
프로젝트를 진행하면서 기능 구현에서 스트림을 사용할 때마다 구글링해서 사용했다. (왜 그렇게 사용하는지 잘 모르지만 모두가 사용하는 방법대로 그냥 사용해옴) 마침 스터디 주제가 람다와 스트림이어서 이번에 정리하고자 한다. 스트림 연산은 람다식(함수형 인터페이스)을 인자로 사용하기 때문에 람다식과 함수형 인터페이스를 먼저 살펴본 후 스트림에 대 살펴볼 것이다. 람다식 (Lambda Expression) 자바 8 버전부터 지원했고 이것으로 자바는 객체지향언어와 함수형언어의 장점을 모두 가지게 되었다. 람다식은 메서드를 하나의 식으로 표현한 것인데 메서드의 이름과 반환값이 없기 때문에 익명 함수라고 부른다. 람다식은 일급 객체로 변수나 데이터에 담을 수 있고, 함수의 매개 변수로 전달될 수 있으며 함수의 반환..
MVC 패턴 어플리케이션을 Model - View - Controller 3개의 컴포넌트로 나눠서 개발하는 방식의 디자인 패턴이다. MVC 패턴을 잘 사용하면 사용자 인터페이스(View)와 비즈니스 로직(Model)이 분리되어 서로 영향받지 않고 개발하기 쉽다. 동작 방식 Controller가 사용자의 요청을 받으면 Model의 로직을 사용해 나온 결과를 View에 담아 사용자에게 보여준다. Model model은 데이터와 정보를 가공하는 컴포넌트로 비즈니스 로직을 처리한다. 이때 model은 view, controller와 의존하지 않아야 한다. View view는 사용자 인터페이스 요소를 나타내는 컴포넌트로 model을 이용해 이를 시각적으로 보여주는 역할을 한다. view는 controller를 몰..
2023 프로그래머스 윈터 코딩에 참가했다. https://career.programmers.co.kr/competitions/3683 2023 Winter Coding - 겨울방학 스타트업 인턴 프로그램 career.programmers.co.kr 이번에 처음으로 참여했는데 생각보다 spring을 사용하는 회사가 적었다. spring을 사용하는 모든 회사 (그래봤자 4군데였음)에 지원했고 코딩 테스트 준비를 계속 했다. 한 문제를 제외하고 모두 풀었고 코딩테스트에는 합격했다. 그리고 지원한 회사에서 내 서류를 열람했다는 연락이 왔다. 최종적으로는 2군데에서 서류를 통과했는데 한 곳은 보안 회사여서 면접을 가지 않았고, 한 곳은 처음 지원할 때부터 괜찮다고 생각했던 곳이어서 인적성과 면접을 봤다. 난생 ..
여러 개의 레포들을 하나의 레포로 관리할 수 있다. 하나의 프로젝트의 백엔드, 프론트 레포를 하나의 레포로, 혹은 하나의 프로그램에서 진행하는 여러 프로젝트들(ex) 우테코 프리코스 과제들)을 하나의 상위 레포로 관리가 가능하다. 1. 상위 레포 생성 2. 서브모듈 생성 git submodule add -b [브랜치 이름] [클론할 저장소] [서브모듈 이름] 3. commit 4. push
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 플레이 횟수가 더 많은 장르의 음악 중 상위 2개 음악씩 뽑아 플레이 리스트를 만드는 문제였다. 문제 풀이 레벨 3의 문제여서 어려울 줄 알았는데 생각보다 쉬웠다. map에 저장하고.. vector 정렬만 해주면 끝! 별다른 오류도 없었다. 하하. 코테 준비를 하면서 프로그래머스의 알고리즘 고득점 kit의 문제를 푸는 중인데 이 문제로 해시 문제는 다 풀었다. 우하하 #include #inc..