전체 글(157)
-
[프로그래머스] 연속 부분 수열 합의 개수 | C++
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 원형으로 나열된 수열의 부분합 수를 구하는 문제이다. 나의 풀이 전략 set 자료형을 사용하여 부분합의 중복을 막는다. 상세 1) elements에서 합연산을 출발할 지점을 for 문으로 구축한다. 더보기 for (int start = 0; start < elements.size(); ++start) // 현재단계 { } 2) 부분합의 길이를 1에서부터 elements의 길이까지를 for 문으로 구축한다. 더보기 for (int start = 0; start < elements.size(); ++star..
2023.01.14 -
[프로그래머스] 가장 큰 수 | C++
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 숫자들을 문자열로 조합한 후 가장 큰 값을 반환하는 문제이다. 풀이 전략 사용자 정의로 비교함수를 정의한다. 상세 1) numbers의 숫자들을 문자로 변환 후, vector store에 저장해둔다. 더보기 string solution(vector numbers) { string answer = ""; vector store; for(int number : numbers) store.push_back(to_string(number)); } 2) store에 저장된 문자열들을 정렬할 것이다. 정렬기준은 직..
2023.01.12 -
[프로그래머스] 모음사전 | C++
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 주어진 단어가 사전 순으로 몇 번째인지 구하는 문제였다. 나의 풀이 전략 DFS로 푼다. 상세 1. DFS 함수의 이름은 makeCombination()이다. 우리가 조합한 단어는 comb, 문제에서 주어진 단어는 dest, 재귀깊이는 depth로 설정한다. 더보기 void makeCombination(string comb, string dest, int depth) // DFS { } 2. 우리가 이용할 모음은 정해져있다. 상수 문자 배열로 고정해주자. 더보기 // 전역 const char vowSet..
2023.01.12 -
[프로그래머스] 피로도 | C++
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 전략 방문할 던전을 나열하는 방법은 두가지로 보인다. 1) DFS로 풀어본다. 2) next_permutation()을 이용해본다. (여기서 설명할 방법) DFS로 한다면, 방문체크가 필요할 것이다. 그러면 풀이자들은 던전에 방문했는지를 체킹하기 위해 별도의 선형 자료구조를 구성해야 한다. 그런데, DFS로 함수 인수를 구성하기, 방문 체킹-언체킹, 제약조건에 따르기 등 내가 직접 방문순서를 관리하는건 솔직히 귀찮고 힘들기도 하다. 나는 그래서 2번째로 풀때는 next_permutation()..
2023.01.11 -
1) 프로젝트 구성 및 의존성 추가
루트 경로로 진입하면 다음 화면이 나오도록 SecurityController를 생성하자. @RestController public class SecurityController { @GetMapping("/") public String index() { return "home"; } } 이 상태에서 루트로 접속하면 화면에 home이 찍힐 것이다. 이제 보안 설정을 해보자. 먼저 spring-boot-starter-sequrity 의존성을 주입해주자. org.springframework.boot spring-boot-starter-security 그리고 루트에 다시 접속해보면... 위와 같이 로그인을 요구한다. 기본적으로 제공되는 계정은 Username은 user, Password는 서버 기동시 콘솔에 랜덤..
2023.01.08 -
[프로그래머스] 소수 찾기 | C++
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문자열로 주어진 숫자들을 조합하여 그중 소수를 찾아내는 문제이다. 나의 풀이 전략 DFS로 완전탐색하여 푼다. 상세 1. 우선 소수인지 아닌지 판별하는 함수 isPrime()을 생성한다. 소수라면 1을 반환하도록 했다. 더보기 int isPrime(int n) { if (n == 0 || n == 1) return 0; int squareRoot = sqrt(n); // cmath 라이브러리 for (int i = 2; i 0) numSet.insert(stoi(combined)); } 5. origin..
2023.01.07