12980좋아하는 수열 - swift
·
알고리즘
https://www.acmicpc.net/problem/12980흠..이 문제는 풀이가 없는 것 같아서 내가 먼저 올린다. 그래야 조회슈 ㅎ...는 농담이고 문제가 재밌다.문제분석1. 순열의 크기 n이 주어진다. 그리고 1..N까지 써야하는 배열이 있다.  이 배열에는 0이 있는데 이는 지워졌다는 것을 의미한다.2. 즉 0자리에는 이미 배열에 있는 수 말고 1..N까지의 수 중 아무거나 사용할 수 있다.3. 하지만 S 점수를 맞추는 경우의 수를 구해야한다.4. 점수? [1,2,3] 이라고 보면 [1,2] , [1,3], [2,3]의 케이스가 가능하기에 총 3점이다. 이런식으로 배열의 인덱스와 값을 비교해  i 문제접근1. 0인 곳에 남은 수로 채워서 모든 경우를 구해보자.2. 그 케이스별로 계산을 하여..
상담원인원-Swift풀이
·
알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/214288 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr오랜만입니다. 알고리즘은 계속 풀고 잇엇으나 그닥 올릴만한 것이 없어서...ㅜ (핑계핑계)자 이번문제는 내가 PM이라고 몰입해야한다.문제 분석   1. 멘토에게 유형이 있음. 맞는 유형의 사람을 시간이 되면 한명씩 진행.   2. 그런데 만약 여러명이 웨이팅중이다? 가장 먼저 상담요청한 참가자부터 진행한다.   3.  req는 c번 유형의 사람이 a분때 b분만큼 요청하는 것을 의미한다.    -> 결국 구해야하는것은 기다리는 시간을 최소로 하도..
Queue 10845 - swift
·
알고리즘
큐 구현이다. swift로는 큐를 어떻게 구현하는지를 물어보는 거였다. // // main.swift // Queue // // Created by 235 on 2023/09/05. // import Foundation struct Queue{ var queue: [Int] = [] public var size: Int { return queue.count } public var isEmpty: Bool { return queue.isEmpty } public var front: Int { return isEmpty ? -1 : queue[0] } public var back: Int { guard let last = queue.last else {return -1} return last } mutati..
알고리즘 2023kakaoblind-개인정보 수집 유효기간(python)
·
알고리즘
def solution(today, terms, privacies): termDict = {} answer =[] todayyear, todaymonth, todayday = int(today[0:4]), int(today[5:7]), int(today[8:]) for i in terms: termDict[i[0]] = int(i[2:]) for index, j in enumerate(privacies): uhogigan = termDict[j[-1]] year = int(j[0:4]) month = int(j[5:7]) day = int(j[8:10]) aftermonth = month + int(uhogigan) if(aftermonth>12): year+=1 aftermonth -= 12 if(ye..
1987-python & swift
·
알고리즘
1. Python 풀이. 이건 BFS라고 생각했다. 왜? 상하좌우로 한칸씩 이동하면서 간 새곳이 이전에 간곳과 동일한지 체크하면 되기 때문이다. import sys row , col = map(int, sys.stdin.readline().split()) arr = [] arr = [list(map(str, sys.stdin.readline().strip())) for _ in range(row)] dx = [-1,1,0,0] #왼오 dy = [0,0,-1,1] #아래 위 cnt = 1 def BFS(): # 한칸씩 최대 몇칸을 가는지를 구해야하기에 global cnt queue = set([(0,0,arr[0][0])]) while queue: a,b,c = queue.pop() cnt = max(cn..
알고리즘 with Swift (7569 tomaoto)
·
카테고리 없음
알고리즘 스터디가 드디어 두둥 열렸기에 빠질수 없어 보자마자 참여. 첫 문제로는 토마토 문제. 어디선가 봤던 유형인데 알고리즘을 안푼지가 백만년이라 역시나 감도 안온다.... 일단 읽으면 어? 근처에 있으면 옮아? 옮고 또 그것은 다른것에 영향을 끼친다고?라고 생각하니까 이건 무조건 BFS로 해야겠다를 먼저띵킹 1트 ( 시간초과) 임시 샘플들을 넣으면 결과값이 제대로 나오지만 시간초과가 뜬다. 왜지? 내가 생각한 풀이는 처음에 1인 지점에서 위,아래, 왼.오. 앞,뒤 로 전염이 되기에 먼저 위아래를 제외한것들을 먼저 전염시키고 그 두 if문에서 row가 N만큼 더 가서 그 지점도 0이라면 감염시키고 큐에 넣어주는 형식으로 구현하였다. 찾아보니 removefirst는 시간복잡도가 O(n)이라 생기는 문제였..