[BOJ][Python] 4963 섬의 개수
·
🚩 Coding Test/Baekjoon
Overview체감 난이도: ★★☆☆☆문제 레벨: 실버 2문제 유형: BFS풀이 상태: 답안참고 / 스스로 해결추후: 다시 풀어보기 / 간단 복습 / 완벽 이해 [문제]https://www.acmicpc.net/problem/4963 정사각형으로 이루어져 있는 섬과 바다 지도가 주어진다. 섬의 개수를 세는 프로그램을 작성하시오.한 정사각형과 가로, 세로 또는 대각선으로 연결되어 있는 사각형은 걸어갈 수 있는 사각형이다.두 정사각형이 같은 섬에 있으려면, 한 정사각형에서 다른 정사각형으로 걸어서 갈 수 있는 경로가 있어야 한다. 지도는 바다로 둘러싸여 있으며, 지도 밖으로 나갈 수 없다.  ✔︎ BFS 기본 문제와 다른 점은 대각선으로 이동이 가능하다고 친다는 것이다.  [코드]from collection..
네트워크
·
카테고리 없음
보호되어 있는 글입니다.
디자인 패턴 & 프로그래밍 패러다임
·
카테고리 없음
디자인 패턴 & 프로그래밍 패러다임  * 라이브러리: 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것 (규칙이 없고 프레임워크에 비해 자유롭다)* 프레임워크: 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것 (폴더명, 파일명 등 규칙 존재)1.1 디자인 패턴✔︎ 디자인 패턴이란? : 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은 것 1.1.1 싱글톤 패턴(singleton pattern)- 개념: 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴- 사용: 보통 데이터베이스 연결 모듈에 많이 사용- 장점: 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용하기 때문에 인스턴스를 생성할 때..
[BOJ][Python] 29717 슬라임 잡고 레벨 업!
·
🚩 Coding Test/Baekjoon
Overview체감 난이도: ★★☆☆☆문제 레벨: 실버 2문제 유형: 이분탐색풀이 상태: 답안참고 / 스스로 해결추후: 다시 풀어보기 / 간단 복습 / 완벽 이해 [문제]https://www.acmicpc.net/problem/29717 # 처치한 슬라임 수 : x# 새로운 슬라임을 처치하면 x + 1 만큼의 경험치# 현재 레벨에서 레벨업에 필요한 경험치: y# 레벨업 후 경험치 y를 소모한 뒤 다음 레벨업에 필요한 경험치는 y + 2# 레벨 1의 경우 레벨업에 필요한 경험치는 2이다.# 신규 유저는 레벨 1, 경험치 0으로 시작 / 슬라임 수 0# Q. N마리를 처치할 경우 레벨이 몇이 될 지 출력 [코드]✔︎ dp + 반복문으로 푼 코드(시간 초과)- n을 입력 받을 때마다 dp 배열 새로 생성 → ..
[BOJ][Python] 31714 지정좌석 배치하기 1
·
🚩 Coding Test/Baekjoon
Overview체감 난이도: ★☆☆☆☆문제 레벨: Silver 4문제 유형: 그리디, 정렬풀이 상태: 답안참고 / 스스로 해결추후: 다시 풀어보기 / 간단 복습 / 완벽 이해 [문제]https://www.acmicpc.net/problem/31714  [코드]처음 풀이n, m, d = map(int, input().split()) # 행, 열, 높이 차이# (앞줄) 좌석 높이 + 키 = arr[j + 1][i]: return False return Trueif chk(): print("YES")else: print("NO") 간략하게 수정한 코드(리스트 컴프리헨션)# (앞줄) 좌석 높이 + 키   [배운 점]python all() 함수 : 인자로 받은 모든 요..
[Programmers][Python] Lv.2 n² 배열 자르기
·
🚩 Coding Test/Programmers
Overview체감 난이도: ★★☆☆☆문제 레벨: Lv.2 문제 유형: 구현풀이 상태: 답안참고 / 스스로 해결추후: 다시 풀어보기 / 간단 복습 / 완벽 이해 [문제]https://school.programmers.co.kr/learn/courses/30/lessons/87390 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  [코드]시간초과 발생한 코드 / 시간복잡도 O(n²)2차원 배열 생성 및 채우기:n x n 크기의 배열 생성: O(n²)각 행(n)에 대해 최대 n번의 연산: O(n²)1차원 배열로 변환:모든 원소를 순회: O(n²)슬라이싱:right - left + 1 개의 원소 복사: O(..
[Programmers][Python] Lv.2 행렬의 곱셈
·
🚩 Coding Test/Programmers
Overview체감 난이도: ★☆☆☆☆문제 레벨: Lv.2 문제 유형: 구현풀이 상태: 답안참고 / 스스로 해결추후: 다시 풀어보기 / 간단 복습 / 완벽 이해 [문제]https://school.programmers.co.kr/learn/courses/30/lessons/12949 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  [코드](처음 풀이한 코드)def solution(A, B): answer = [] for i in range(len(A)): row = [] for j in range(len(B[0])): ..
[Programmers][Python] Lv.2 멀리 뛰기
·
🚩 Coding Test/Programmers
Overview체감 난이도: ★★☆☆☆문제 레벨: Lv.2문제 유형: DP풀이 상태: 답안참고 / 스스로 해결추후: 다시 풀어보기 / 간단 복습 / 완벽 이해 [문제][BOJ] 9095 1, 2, 3 더하기문제와 유사한 문제이다.  https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  [코드]def solution(n): dp =[0] * 2001 dp[0] = 1 for i in range(1, n+1): for j in range(1, 3): ..
[Programmers][Python] Lv.2 구명보트
·
🚩 Coding Test/Programmers
Overview체감 난이도: ★★☆☆☆문제 레벨: Lv.2문제 유형: 그리디, 투포인터풀이 상태: 답안참고 / 스스로 해결추후: 다시 풀어보기 / 간단 복습 / 완벽 이해 [문제]https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   [코드]def solution(people, limit): people.sort() # 무게 순으로 오름차순 정렬 left = 0 # 가장 가벼운 사람 위치 right = len(people) - 1 # 가장 무거운 사람 위치 b..
[Softeer][Python] Lv.2 나무 공격
·
🚩 Coding Test
Overview체감 난이도: ★☆☆☆☆문제 레벨: Lv.2문제 유형: 구현풀이 상태: 답안참고 / 스스로 해결추후: 다시 풀어보기 / 간단 복습 / 완벽 이해 [문제]https://softeer.ai/app/assessment/index.html?xid=332573&xsrfToken=dR4S2qKzqTPEaJ8JYheu4sUT5y8RgnvN&testType=practice Candidate | Softeer Assessment UI softeer.ai  [코드]n, m = map(int, input().split())arr = [list(map(int, input().split())) for _ in range(n)]for i in range(2): x, y = map(int, input().spl..