내가 까먹을까봐 만든 블로그

전체 글

Computer Science/Software Engineering

Status vs State

소프트웨어 개발에서 status와 state는 비슷해 보이지만 사용하는 맥락과 의미가 다르다. Status“What is the current status of this project?” The answer should be “In testing.” Status는 시스템, 프로세스 또는 객체의 외부적이고 정적인 속성을 나타내며, 현재의 상태를 설명하거나 나타낸다. 대표적으로 http 요청을 주고받을 때 response에 status가 포함된다. 여기서 200, 404 등의 status 코드가 함께 반환되고 이러한 상태는 이미 결정된 것이므로 현재의 결과에선 절대 변하지 않는 정적 속성을 지닌다. 특징을 정리해 보면 아래와 같다.외부 정적 상태특정 시점의 상태를 설명시스템의 현재 상태 보고예시: 서버 상태..

Coding Test

[Python] 프로그래머스 - 숫자 짝꿍

문제https://school.programmers.co.kr/learn/courses/30/lessons/131128 해설Counter 메소드를 사용하여 해결할 수 있었다. 문자열 비교만 수행하였을 때 시간 초과가 발생하여 시간복잡도를 고려하여야만 하는 문제였다. Counter 메소드를 사용하지 않고 직접 해당 map을 만들어 사용하는 연습을 해보아도 좋을 것 같다. from collections import Counterdef solution(X, Y): Y_map = Counter(Y) couple = [] for d in X: if 0

Coding Test

[Python] 백준 13419 - 탕수육

문제https://www.acmicpc.net/problem/13419 해설패턴을 찾는 문제이다. player 수가 많아지는 케이스도 쉽게 해결할 수 있을 것 같다. def solution(case): answer = 0 for v in case: player1 = [] player2 = [] for i, c in enumerate(v if (len(v) % 2) == 0 else v*2): if i % 2 == 0: player1.append(c) else: player2.append(c) print("".join(player1)) pri..

Coding Test

[Python] 프로그래머스 - H-Index

문제https://school.programmers.co.kr/learn/courses/30/lessons/42747?language=python3 해설코드는 간단했지만 경험이 부족하여 로직을 유도하는데 오래걸렸다. 정렬을 이용하여 citation과 논문 개수의 교차점을 잡는 것이 핵심이었다. def solution(citations): answer = 0 sorted_citation = sorted(citations, reverse=True) for i, c in enumerate(sorted_citation): if i+1

Coding Test

[Python] 백준 1755 - 숫자놀이

문제https://www.acmicpc.net/problem/1755 해설해시 맵을 이용해 해결할 수 있는 문제였다. def solution(start, end): digit_dict = { "0": "zero", "1": "one", "2": "two", "3": "three", "4": "four", "5": "five", "6": "six", "7": "seven", "8": "eight", "9": "nine", } custom_dictionary = {" ".join([digit_dict[d] for d in str(i)]): i for i in range(start, end+1)} for i, k in enumerate(sorted(custom_d..

Coding Test

[Python] 백준 11004 - 세준세비

문제https://www.acmicpc.net/problem/1524 해설정렬을 이용하는 문제였다. 그런데 입력 방식에 대한 불필요한 조건들이 있어 헷갈릴 수 있다. 알고리즘 테스트에서 알고리즘과 무관한 조건도 중요하게 여겨야 한다는 점 때문에 수준이 낮은 문제라 생각된다. def solution(case): for _ in range(case): input() # 입력 구분 n, m = map(int, input().split()) sj_soldiers = sorted(list(map(int, input().split()))) sb_soldiers = sorted(list(map(int, input().split()))) while s..

AlienCoder
외부 저장소
loading