본문 바로가기

분류 전체보기

(291)
프로그래머스, 섬 연결하기 프로그래머스, 섬 연결하기 🪴 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42861 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🪴풀이 모든 노드를 방문한다. 최소 비용으로 통행하고자 한다. 최소신장 트리 문제이다. 프림 알고리즘, 크루스칼 알고리즘 🪴프림 알고리즘 어떠한 노드에서 출발해도 상관없다. 왜냐하면, 결국 모든 노드를 이어줄 것이기 때문! 우선순위 큐 자료구조를 이용해 최소 비용으로 갈 수 있는 모든 간선 정보를 비교해 방문한 적 없는 노드를 방문한다. 노드 수 n개, 간선수 ..
백준, 효율적인 해킹 백준, 효율적인 해킹 🪴 문제 https://www.acmicpc.net/problem/1325
[나만의 블로그] spring 회원가입 [나만의 블로그] spring 회원가입 앞에 spring을 붙인 이유는 백만 구현했기 때문. 🌵 DTO Data Transfer Object 주로 View와 Controller 사이에서 데이터를 주고 받을 때 활용한다. DTO는 getter/setter 메소드를 포함. 그래서 난 getEmail(), getPassword() 메서드를 정의해 준 적이 없는데, 테스트 코드를 작성할때 사용할 수 있었다. 📜 service/UserService.java userDTO.getEmail(); setter가 아닌 생성자를 이용해 초기화하는 경우 객체 값이 변경되지 않는다. 메소드 호출 수를 줄이기 위해 프로세스 간에 데이터를 전달하는 개체 데이터를 캡슐화하여 애플리케이션의 한 부분에서 다른 부분으로 보내는 데 자주..
[나만의 블로그] DB 연결 [나만의 블로그] DB 연결 🌵 ORM ORM 관계형 데이터 베이스의 한 종류로, 무결성 특징이 있다. Object Relational Mapping 무결성 자체가 어렵게 느껴질 수 있다. 무결성, 하면 2단어를 떠올리면, 이해가 쉽다. 정확성, 일관성! DB에 저장되는 데이터와 실제 데이터가 일치하는지 데이터가 일정하게 유지 되는지를 의미한다. ORM은 SQL 쿼리를 자동으로 생성해주므로 직접 작성하지 않아도 된다. userRepository.save(userDTO.toEntity()); 위 코드를 실행하면 view - controller 상에서 전달받은 DTO를 Entity 로 변환해 user 테이블에 저장되지만, 실제 repository 코드인 아래를 보면 save 함수는 없다. 있는 함수는 get..
[나만의 블로그] 프로젝트 계획 [나만의 블로그] 프로젝트 계획 참여인원 : 1명 기간 : 3주, 23.11.22 (수) ~ 23.12.13(수) 기능 - ✅회원가입, 로그인 - jwt - 세션 - 쿠키 - OAuth(Kakao) - ✅게시판 - 글쓰기 - 댓글쓰기 목표 - 기능 하나 만들 때 마다 테스트 코드 작성 - 백엔드 Spring Framework - 프론트엔드 React - 오류 이유, 패턴 블로그 정리(초등학생이 봐도 이해할 정도로 정리 & 공부) - 리팩토링 프로젝트 진행 방향 처음에 유투브 무료 영상을 따라하며 공부했는데, 그냥 따라하기만하고 제대로 공부하는 느낌이 안들어 중단했다. 별도의 책은 구매하지 않았고 블로그 글과 동영상, 지인을 통해 피드백 받으면서 만들어보고자 한다.
백준, 단지 번호 붙이기 백준, 단지 번호 붙이기 🪴 문제 https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 🪴 분류 pass 🪴 풀이 기본적인 dfs 문제로 풀면 된다. 상하좌우 1이고 방문한적 없는 경우 방문해줘야 한다. 방문표시를 하지 않을 경우 카운트할때 문제가 생길 뿐 아니라, 무한재귀에 빠질 수 있으니 방문표시를 해줘야 한다! 붙일 번호를 매개변수로 같이 넣어주는게 핵심! 최대한 상수 설정, global 설정해서 풀었다. cnt 는 번호 붙일 번호이고, inne..
프로그래머스, 표현 가능한 이진 트리 프로그래머스, 표현 가능한 이진 트리 🪴 문제 https://school.programmers.co.kr/learn/courses/30/lessons/150367 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🪴 분류 accepted 🪴 풀이 10진수를 2진수로 바꾼뒤. 포화 이진 트리의 갯수만큼 맞춰 더미 노드를 채워줬다. 이진 트리의 레벨에 따른 포화 이진트리 갯수는 그림을 그리며 규칙을 찾았다. level1 : 노드 1개 level2 : 노드 3개 level3 : 노드 7개 level4 : 노드 15개 leveln : 노드 2의 n승 -1 개 그리고..
백준 17406 배열 돌리기 4 백준 17406 배열 돌리기 4 🪴 문제 https://www.acmicpc.net/problem/17406 17406번: 배열 돌리기 4 크기가 N×M 크기인 배열 A가 있을때, 배열 A의 값은 각 행에 있는 모든 수의 합 중 최솟값을 의미한다. 배열 A가 아래와 같은 경우 1행의 합은 6, 2행의 합은 4, 3행의 합은 15이다. 따라서, 배열 A의 www.acmicpc.net 🪴 분류 accepted 3시간동안 풀었다. 2시간 반 코드 & 디버깅, 30분은 문제 잘못이해한거 고쳤다. 이 문제 반복 + 비슷한 유형 반복해 30분내로 풀 수 있도록 해야겠다! (비슷한 유형 문제로는 프로그래머스, 나선형 어쩌구.. 떠오른다.) 🪴 문제풀이 문제 대충 읽고 회전 연산 들어오는 순서대로 회전하고 행 최소값을..
bin file to png file bin file to png file 이진 파일(.bin)을 이미지 파일(.jpg or .png)로 변환하는 과제를 하게 되었다. 이 과제를 하면서 알게 된 내용을 정리하고자 한다. ❓ header 정보 읽어오기 import java.io.*; import java.util.zip.*; // zip 파일 압출 해제해 .bin파일 정보 읽기 DataInputStream dis = new DataInputStream(zipIn); // Read Header (4 bytes) int Header = Integer.reverseBytes(dis.readInt()); header 정보에 이미지 길이 정보가 들어있어 그 값을 읽어 그 정보를 이용해야 했다. ❓ 1 pixel은 몇 바이트일까? 일반적으로, Red, ..
백준, 사다리 조작(combinations 활용) 백준, 사다리 조작 combinations 활용 풀이 2023.10.13 - [알고리즘] - 백준, 사다리 조작 백트래킹 말고 조합 라이브러리 활용해서 풀어봤다. ❓ 풀이 사다리가 설치가 안된 모든 위치를 list에 저장 이중 1,2,3개의 조합을 뽑아 사다리를 설치 즉, 사다리를 설치할 수 있는 모든 조합에 사다리를 설치 후, 원하는 값 구할 수 있는지 확인 📜 제출 코드 C, M, R = map(int, input().split()) regions = [[False for _ in range(C+1)] for _ in range(R)] for _ in range(M): r, c = map(int, input().split()) regions[r-1][c] = True # 사다리 정보를 받고 도착지 r..