본문 바로가기

# 공부/# 그 외 흥미로운 문제들11

리팩토링에 대해 리팩토링에 대한 밀린 글은 좀 써볼까 한다. # 목차1. 리팩토링이란 무엇인가?리팩토링은 소프트웨어 개발에서 기존 코드의 기능을 유지하면서 코드의 구조를 개선하는 프로세스를 말한다.마틴 파울러(Martin Fowler)의 정의에 따르면, 리팩토링은 "외부 행동의 변화 없이 내부 구조를 개선하는 것"으로, 코드의 가독성, 유지보수성, 확장성을 높이는 데 중점을 둔다.리팩토링은 소프트웨어 개발 주기에서 지속적으로 이루어져야 하는 중요한 작업이다. 일 다니면서 팀원 관리하고 프로젝트 관리에 일상생활까지 하려니 굉장히 빡세서 블로그 업데이트가 밀렸었는데... 몇달전 공부하며 시도했고 마무리 했던 리팩토링에 대해 다뤄본다. 2. 리팩토링의 필요성?우리는 모두 목적을 가지고 코드를 작성한다."캐릭터의 정보를 저장할.. 2024. 9. 1.
[백준::1966 python3] 프린터 큐 23일엔가.. 21일엔가.. 아무튼 간만에 본가로 올라와서 하루도 안쉬고 사람들 만나면서 놀다가 지금 동탄역에서 기차 기다리는중.. 프린터큐가 생각나서 적어본다 오늘은 짧고 굵게 아는 동생에게 알려주려고 주석달아서 써놓은 코드를 공유한다. 때문에 긴 설명은 없음 (ㄱㅇㄷ) 간단하게 적기 1. 복합기 + 큐구조. 2. 입력은 테스트케이스 -> 문서의개수,조회할문서의인덱스 -> 우선순위들 3. 출력은 조회할 문서의 인덱스가 몇번째로 출력되는가? 여기서 내 주요 풀이 키워드는 이렇다. 1. 같은 우선순위의 처리 순서 2. 인덱스의 끝에 갔을때? 3. 조회의 수 일주일정도 된거같은데 가물가물..해서 이정도만.. 자세한건 코드 맨 하단의 주석을 보길 바란다. 우선 1. 같은 우선순위의 처리 순서란, 1 1 9 1.. 2021. 12. 30.
[백준::5430 python3] AC 최근 계속 하루에 하나씩 문제를 풀고있는데, 그 중 나름 짜증났거나 재밌었던 문제들을 가져오는 중이다. 이 문제는 짜증의 유형에 속하는데, 문제 자체는 간단한데 난해한 테스트케이스 뭐 좋게 말해야 난해한거고 사실 지랄맞은것이다. 그래서 이 문제를 풀이한사람들은 한번씩 욕한 흔적이 있다. 더보기 잡소리 이 문제는 장단점이 명확하다. 우선 장점의 경우, 겉보기에 간단해 보이는 문제지만 간과할 수 있는 실수와 경우가 생각보다 더 있고, 그걸 탐구하는 방법을 스스로 학습할 기회가 됐다. 그리고 단점은 문제 자체에 있는게 아니라, 사람에 있는거 같은데.. 굳이 출력까지 저렇게 걸러야했나 싶다. 문제를 만들어본 입장에서 테스트케이스 20개로 정답 걸러내는 프로세스만드는게 생각보다 쉽진 않지만 그렇다고 그렇게 어렵지.. 2021. 12. 21.
[백준::11652 Py] 카드 역대급 혈압오르는 문제였다. 애초에 로직이 복잡하면 모를까, 로직도 간단한데 도저히 어디서 걸리는줄 계산이 안됐다. 질문검색으로 가서 그곳에 있는 모든 글을 읽고 반례를 전부 가져와서 입력해봤다. 일부러 공백에 유니코드값이 몰래 붙을까봐 손으로 하나하나 입력했다. 검증도 몇번이나 거쳤는데 계속 틀렸다고 나와서 코드를 엎어버렸다. 하지만 틀린다면, 가장 틀릴법한곳이 존재했고, 그곳을 날려버리고 맨바닥에서부터 다시 시작하니 코드가 손쉽게 통과됐다. 솔직히 아직도 잘 모르겠다. 기존의 코드가 함수를 두개를 써서 약간 이리저리 얽히긴했는데, 흠.. 어쨋든 이 문제는 매우 간단하다. 일단 조건을 보면 1. 테스트케이스 N은 최대값이 10만이다. 2. 입력 값 M은 -2^62 ~ 2^62까지 범위이다. (Big N.. 2021. 12. 11.