[Daily Post] 230510
[Daily Post]는 매일매일 탐구한 내용을 간략하게 기록하는 포스트입니다.
따라서 정리되지 않은 내용과 추측을 포함하고 있을 수 있습니다.
더 체계적인 형식을 갖춘 글은 해당 카테고리의 포스트를 확인해주세요 :)
Daily Study
PS
2745. 진법 변환
- python이니까 어렵고, c였으면 풀었을 것 같다는 느낌은 이제 없어진 것 같다
- 문자열에 대한 인덱싱 접근 순서를 반대로 바꾸니까 오히려 더 풀기 쉬웠다.
- 해결완료
11005. 진법 변환 2
- 문제 논리 자체는 어렵지 않았는데 첫 답안 제출을 하니
Runtime Error가 나왔다. - 정말 runtime 을 넘어갈 만큼의 시간이 걸린 줄 알고 겁을 먹었는데, 알고보니 중간에 변수명에 오타를 내서 프로그램이 멈춘거였다. 예제에서 맞은 이유는 오타가 난 변수명이 사용된 곳이 특정 조건문에 들어있었고, 예제는 해당 조건문 이하를 실행하지 않기 때문에 예제만으로는 발견할 수 없는 실수였다.
- 해결완료
2292. 벌집
N = int(input())
current_number = 1
accum = 0
accum_cnt = 0
arr =[]
arr.append(1)
while (current_number <= 10000):
current_number = 0
if(accum==0):
current_number = 7
else:
current_number += accum * 6
accum_cnt += 1
accum += accum_cnt
arr.append(current_number)
for i in range(len(arr)):
print("%d: %d"%(i,arr[i]))
- 배열을 첫번째 원소부터 채울 수 있는 방법을 생각해야겠다.
- C로 풀 때도 그렇고, 규칙성을 찾아내면 그 규칙을 코드로 짜는 방법에만 지나치게 집중하다보면 문제 본질에서 벗어나게 된다. 지금 구현 중인 부분을 왜 구현해야 하는지, 어떻게 구현하는지, 어떻게하면 효율적인 코드를 짤 수 있는지 고민하면서 푸는게 중요하다.
- 파이썬으로 문제 잘 푸는 사람들에 비하면 좀 길지만.. 어쨌든 풀기는 했다
- 해결완료
CS
My Study
TDD에 대한 책을 읽고
- TDD의 구체적인 정의는 무엇인가요?
- TDD의 예시는 다음을 참고했다.
- Test Driven Development, 개발 기획 및 구현 과정에서 Test를 중점적으로 개발을 진행하는 개발 방법론. MECE한 테스트케이스 작성, 자동화 된 테스트, 리팩터링 등으로 구성된다
- TDD의 단점은 무엇인가요?
- 테스트케이스 및 테스트 모듈 작성을 필요로 하기 때문에, 추가적인 개발을 위한 비용이 발생한다
- TDD 방식은 언어마다 달라지나요? 아니면 프레임워크에 따라 달라지나요?
- 언어마다 달라지고, 내가 아는 언어나 프레임워크에 대해 찾아본 결과는 다음과 같다
- [C Unit Test: shunit2](https://github.com/kward/shunit2
- Python unittest module: Python 공식 documentation에 나와있는 내용이다! 내일은 이걸 이용해서 PS를 해봐야겠다
- React, Svelete 등: testing-library라는 도메인을 가진 사이트가 있다! 여러가지 프레임워크에 대한 user-centric way test를 제공한다
- 언어마다 달라지고, 내가 아는 언어나 프레임워크에 대해 찾아본 결과는 다음과 같다