📄 문제 설명 💻 코드#include #include #include using namespace std;string solution(int n) { string answer = ""; while(n > 0){ if(n%3 == 1) answer += "1"; else if(n%3 == 2) answer += "2"; else{ answer += "4"; n--; } n /= 3; } reverse(answer.begin(), answer.end()); return answer;} ✍️ 해설1 % 3 == 1 -> 124 나라 숫자 : 12 % 3 == 2 -> 124 나라..
전체 글
minari0920 님의 블로그 입니다.📄 문제 설명 💻 코드#include #include #include using namespace std;vector solution(int n) { vector answer; vector> v(n+5, vector(n+5)); int state = 0; int y = 0, x = 1, cnt = 1; for(int i=n; i>0; i--){ if(state == 0){ // 아래로 for(int j=0; j ✍️ 해설이 문제에서 알아야 할 두 가지 포인트는 다음과 같다.1. '아래 -> 오른쪽 -> 위'의 순서가 반복된다는 점2. 총 3개의 방향이 총 n번 반복된다는 점이다. 예를 들어 n=4라면, '아래->오른쪽->위->아래' 순서..
개발을 진행하다보면 N+1 문제라는 말을 많이 듣게 된다.도대체 N+1 문제가 뭐고, 이 문제는 어떻게 해결할 수 있을까? N+1 문제란?N+1 문제는 다음과 같이 한 문장으로 정의할 수 있다.요청이 1개의 쿼리로 해결되기를 기대했는데 N개의 추가 쿼리가 발생한 상황사실 보통 N+1 문제라고 많이 부르지만, 1+N 문제라고 생각하는게 이해하기에 더 편리하다 그렇다면 왜 발생할까?예를 들어 아래와 같은 엔티티가 있다고 가정하자.회원과 팀은 다대일 관계이고 지연 로딩(LAZY)이 적용되어 있다. 지연로딩이기 때문에 처음에는 프록시 객체들이 존재한다. 하지만, 여러 팀을 조회한 뒤, 각 팀에 속한 모든 회원의 이름을 순회하며 조회하는 경우 N+1 문제가 발생한다.전체 팀을 조회하는 쿼리 1번과 팀에 해당하는 ..