본문 바로가기

Computer

(119)
[iOS - Swift] Singleton Pattern 싱글톤 패턴이란? Singleton Pattern 소프트웨어 디자인 패턴 중 하나이며 특정 용도로 객체를 하나만 생성해서 공동으로 사용하고 싶을 때 사용하는 디자인 유형이다. 클래스의 인스턴스가 하나만 생성되도록 보장하고 이 패턴을 사용하면 어디서든 해당 클래스의 인스턴스에 접근할 수 있게된다. 즉, 앱 전반에서 공유되는 데이터나 기능을 관리하기 용이해진다. Singleton Pattern 의 특징 1. 단 하나의 인스턴스 2. 전역적 접근석 3. 지연 초기화 4. 전역 상태 관리 특징이 잘 와닿지 않는다면 코드로 구현해보겠다. Singleton Pattern 코드로 구현하기 class StudentInfo { var id : String? var grade : Int? var name : String? } 학생의 id와..
[구름톤 챌린지 - 9oormthon Challenge] Day 9 폭탄 구현하기 2 - Python 파이썬 풀이 구름톤 챌린지 9일차 - 폭탄 구현하기 2 📜 문제 1번과 같은 그림에서 만약 (2, 2)에 폭탄이 떨어지면, 상하좌우를 탐색해야 한다. (3, 2)는 #이므로 아무것도 더하지 않는다. (2, 3)에 폭탄이 떨어지면, 상태가 '@'인 곳에는 2만큼 폭탄의 영향을 받는다. ✏️ 입력 ✏️ 출력 💡 풀이 문제에서 '상하좌우'를 보자마자 Graph 가 생각이 났다. 먼저 폭탄이 떨어지면 상하좌우로 영향을 받는다. 만약 (y, x)에 폭탄이 떨어지면 영향은 (y-1, x), (y, x-1), (y+1, x), (y, x+1)에 받는다. 좌표를 조금 더 쉽게 계산하기 위해 dx = [0, 1, -1, 0, 0] , dy = [0, 0, 0, 1, -1]로 하였다. #는 변화가 없고, '0'은 +1, '@'은 +2..
[구름톤 챌린지 - 9oormthon Challenge] Day 8 통증 - Python 파이썬 풀이 구름톤 챌린지 8일차 - 통증 📜 문제 ✏️ 입력 ✏️ 출력 💡 풀이 처음에는 조건문에서 N의 범위를 따져 1일 경우, 7보다 작을 경우, 14보다 작을 경우로 계산을 했다. 오답이였다. 내가 놓친 조건들을 다시 찾아 다시 제출을 하니 정답이였다. N의 범위를 따져 조건문을 작성하되, 1일 경우에 이중조건문으로 다시 계산을 반복하게 했다. N = int(input()) res = 0 if N < 7 : res += N elif N < 14 : res += N - 6 else : res += N//14 N %= 14 if N < 7 : res += N else : res += N - 6 print(res) 문제 출처 : https://level.goorm.io/exam/195690/%ED%86%B5%EC%..
[구름톤 챌린지 - 9oormthon Challenge] Day 7 구름 찾기 깃발 - Python 파이썬 풀이 구름톤 챌린지 7일차 - 구름 찾기 깃발 📜 문제 ✏️ 입력 ✏️ 출력 💡 풀이 행렬 값이 0일때 인접한 8칸 중에서 구름이 K개 있는 칸의 개수를 구하는 문제이다. 모든 칸을 확인하면서 비어있는 경우에 개수를 세도록 하였다. n, k = map(int, input().split()) mat = [input().split() for i in range(n)] dy, dx = [-1, -1, -1, 0, 0, 1, 1, 1], [-1, 0, 1, -1, 1, -1, 0, 1] for i in range(n): for j in range(n): if mat[i][j] == '0': flag = 0 for a in range(8): y, x = i + dy[a], j + dx[a] if y ..
컴퓨터 비전 영상처리 - (팽창, 침식, 열기, 닫기) openCV Python 코드 2023.07.31 - [Computer Vision] - 영상처리 - 이진 모폴로지, 명암 모폴로지 (팽창, 침식, 열기, 닫기) 영상처리 - 이진 모폴로지, 명암 모폴로지 (팽창, 침식, 열기, 닫기) 영상처리에서 모폴로지란 ? 영상의 형태와 구조를 분석하고 처리하는 기술로서, 영상 내의 객체나 특정한 패턴을 찾고 수정하는 데 사용된다. 주로 이진화된 영상에서 객체의 형태, 크기, 경계 mcrkgus.tistory.com 이전에 작성한 이진 모폴로지와 명암 모폴로지에서 사용하는 팽창, 침식, 열기, 닫기 에 대한 코드이다. openCV를 사용했다. Code img = cv2.imread('roopy.jpg', cv2.IMREAD_GRAYSCALE) 파일로부터 이미지를 로드하고, 그레이스케일로 변환하여..
Programmers 프로그래머스 - [달리기 경주] Python 파이썬 풀이 https://school.programmers.co.kr/learn/courses/30/lessons/178871 📝 문제 🚫 제한 사항 ✏️ 입출력 💡 풀이 처음에는 res 리스트 선언과 callings의 반복문 때문에 시간초과 가 나왔다. 코드를 아무리 간결하게 짜도 시간초과 가 나오길래 다른 정답자 분들의 풀이를 참고해보니 거의 대부분은 res를 딕셔너리로 접근을 했다. res를 딕셔너리로 변경한 것 외에는 생각한 알고리즘이 맞았다. python에서 사용할 수 있는 swap을 하였다. def solution(players, callings): res = {player: i for i, player in enumerate(players)} for i in callings: idx = res[i] r..

728x90