전체 글 247

백준 1000번 A+B swift

https://www.acmicpc.net/problem/1000 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 내 코드 let input = readLine()!.split(separator: " ") print(Int(input[0])! + Int(input[1])!) Review readline() 은 리턴값이 옵셔널 이에요! 따라서 Swift에서 input을 받을 때 옵셔널 언래핑 과정을 생각해 줘야 해요. 이상으로 swift 언어의 가장 기본적인 문제를 풀어 보았습니다. 관련 내용은 옵셔널 관련 글에서도 찾아볼 수 있어요! https://thingjin.tistory.com/entry/Swift-Optional-%EA..

BOJ/Swift 2023.06.22

백준 1238번 파티 파이썬

https://www.acmicpc.net/problem/1238 1238번: 파티 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부터 M+1번째 줄까지 i번째 도로의 시작점, 끝점, 그리고 이 도로를 지나는데 필요한 소요시간 Ti가 들어 www.acmicpc.net 내 코드 import heapq import sys input = sys.stdin.readline INF = int(1e9) N, M, X = map(int, input().split()) graph = [[] for i in range(N + 1)] distance = [INF] * (N + 1) # 최단 거리 테이블을 무한으로 초기화 answer = [] for..

BOJ/Python 2023.06.22

[Python] defaultdict 딕셔너리 기본값 설정하는 방법

딕셔너리에 대한 문제 해결을 하면서 keyError를 처리하기 위해, key 값과 value 값을 넣어서 초기화를 해준 기억이 있다. 대표적으로 문자열에서의 쓰인 알파벳 개수를 판단하기 위해 사용하면 편리하다. "hello world" 라는 문장에서 각 알파벳의 개수를 딕셔너리 형태로 나타내고 싶을 때, 나는 보통 아래처럼 표현 하였다. str = "hello world" d = dict() for i in str: if i not in d: d[i] = 0 d[i] += 1 print(d) # {'h': 1, 'e': 1, 'l': 3, 'o': 2, ' ': 1, 'w': 1, 'r': 1, 'd': 1} if i not in d: d[i] = 0 for문 안에 이 코드가 존재하는 이유는 딕셔너리에 ..

Algorithm 2023.06.21

[프로그래머스] 정수 제곱근 판별 파이썬

https://school.programmers.co.kr/learn/courses/30/lessons/12934 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 코드 def solution(n): a = n ** 0.5 if a == int(a): return (a+1) ** 2 else: return -1 Review n ** 0.5 을 하면 float 타입이 반환이 된다. 루트 씌운 n 값을 정수형(n) 값과 비교해서 같으면 정수 제곱근이다. ex ) n = 121 일때 √n = 11.0 11.0 == int(11.0) True -> 정수 제곱근 ..

프로그래머스 2023.06.20

백준 11725번 트리의 부모 찾기 파이썬

https://www.acmicpc.net/problem/11725 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net 내 코드 import sys from collections import deque input = sys.stdin.readline N = int(input()) visited = [0] * (N + 1) result = [0] * (N + 1) graph = [[] for _ in range(N + 1)] for i in range(N - 1): a, b = map(int, input().split()) graph[a].append(b) graph[b].app..

BOJ/Python 2023.06.16

[CSS] 티스토리 달력 수정

게시글 및 메인화면을 width를 설정 하다 보니 달력 넘기는 화살표의 위치도 달라져서 수정이 필요했다. 달력 부분 수정하기(Odyssey) 1. 블로그 관리 -> 스킨 편집 -> html 편집 -> css 2. CSS 화면에서 control + F / cmd + F 를 해서 .cal_month a:first-child:before 를 찾는다. 3. .cal_month a:first-child:before 부분의 left와 .cal_month a:last-child:before 부분의 right 를 자기 블로그에 맞게 설정해 주면 정상적으로 화살표 방향이 설정된 걸 볼 수 있다. 정상적이게 화살표 방향이 설정 된걸 볼 수 있다.

miscellaneous 2023.06.04

[CSS] 티스토리 본문 / 게시글 폭 넓히는 방법

일단 기본 템플릿은 오딧세(Odyssey) 를 사용하고있다. 하지만 다른 템플릿도 비슷한 코드이니 참고해도 좋을 듯 합니다. 최근에 사이드카 위치를 바꿔봤는데 나름 맘에 들면서 지내고 있었다. 하지만 메인 폭과 본문의 폭이 마음에 안 들어서 스킨 편집에 들어가서 또 수정을 하였다. ★ 수정 하는법 ★ 1. 블로그 관리 -> 스킨 편집 -> html 편집 -> css 2. CSS 화면에서 control + F / cmd + F 를 해서 /* main */ 를 찾는다. 3. main(메인) 부분의 max-width / area-main(게시글) 부분의 max-width 를 취향에 맞춰서 바꿔주면 된다. 4. 오른쪽 상단 위 적용을 누르면 수정이 완료 된다. 수정전 수정 후

miscellaneous 2023.06.03

[프로그래머스] [1차] 캐시

https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 코드 # 1차 캐시 from collections import deque def solution(cacheSize, cities): cache = deque([]) cities = map(lambda x: x.lower(), cities) # 모두 소문자로 구분 hit = 1 miss = 5 result = 0 for i in cities: if not i in cache and len(cac..

프로그래머스 2023.06.02

[프로그래머스] 주차 요금 계산 파이썬

https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 코드 import math def solution(fees, records): default = 1439 # 23:59 result = {} answer = [] # 차 번호순으로 정렬후 뒤집어 정렬 lst = reversed(sorted(records, key=lambda x: int(x.split()[1]))) for l in lst: i, j, k = l.split() m = int(i[..

프로그래머스 2023.06.01

[프로그래머스] 괄호 변환 파이썬

https://school.programmers.co.kr/learn/courses/30/lessons/60058 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 코드 def isComplete(s): result = 0 for j in s: if j == '(': result += 1 else: result -= 1 if result < 0: break if result == 0: return True else: return False def solution(p): global answer # 1. 입력이 빈 문자열인 경우, 빈 문자열을 반환합니다. ..

프로그래머스 2023.05.30