반응형

개발 113

g

[코딩 테스트] 프로그래머스 연습 문제 - 로또의 최고 순위와 최저 순위

프로그래머스 연습 문제 - 로또의 최고 순위와 최저 순위 문제를 풀어보도록 하겠습니다. 프로그래머스 연습 문제 - 로또의 최고 순위와 최저 순위 문제 로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되었습니다. 당첨 번호 발표 후, 민우는 자신이 구매했던 로또로 당첨이 가능했던 최고 순위와 최저 순위를 알아보고 싶어 졌습니다. 알아볼 수 없는 번호를 0으로 표기하기로 하고, 민우가 구매한 로또 번호 6개가 44, 1, 0, 0, 31 25라고 가정해 보겠습니다. 당첨 번호 6개가 31, 10, 45, 1, 6, 19라면, 당첨 가능한 최고 순위와 최저 순위의 한 예는 아래와 같습니다. 0,0이 10과 6이고 4개 ..

g

[코딩 테스트] 프로그래머스 연습 문제 - 없는 숫자 더하기

프로그래머스 연습문제 중 하나인 없는 숫자 더하기 문제를 풀어보았습니다. 프로그래머스 연습 문제 - 없는 숫자 더하기 문제 설명 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해 주세요. 제한 사항 numbers는 1~9까지. numbers의 원소는 0~9까지. 모든 원소는 다릅니다. 입출력 1,2,3,4,6,7,8,0 -> 14 5와 9가 없으므로 5 + 9 = 14 5,8,4,0,6,7,9 -> 6 1,2,3 이 없으므로 1 + 2 + 3 = 6 코드 코드는 매우 간단합니다. local 변수 arr를 하나 만들고 입력받은 numbers..

g

좋은 코드 개발 문화 (클린 코드, 코드 리뷰, TDD)

소프트웨어 개발을 할 때 좋은 개발 문화는 무엇 일지에 대해서 개인적으로 고민해 보았습니다. 좋은 코드 개발 문화 (클린 코드, 코드 리뷰, TDD) 개발하면서 어려운 점 개인적으로 개발하면서 어려운 점을 생각해 보았습니다. 제가 겪었던 안 좋았던 상황들을 조금 정리해 보았습니다. 처음부터 요구사항이나 리소스, 테스트 등 모호한 것이 많다. 그래도 처음에는 나름 고민하여 만든 코드가 동작한다. 개발자 단계에서 하는 테스트가 많지 않고 최종 엔드투엔드 테스트에 의존한다. 특정 모듈, 특정 파트에 업무 로드가 집중된다. 문제가 발생했을 때 디버깅에 오래 걸리고 해결책은 최소 수정사항으로 해결하려고 한다. 수정했을 때 테스트가 잘 없고 테스트해 볼 수 있는 환경 제약이 많다. 결국 사이드 이펙트가 발생하여 다..

g

[코딩테스트] 프로그래머스 연습 문제 - 신고 결과 받기

프로그래머스 Level 1 연습 문제인 신고 결과받기 문제를 풀어보고 공유해 본다. 프로그래머스 연습 문제 - 신고 결과 받기 문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/92334# 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다. k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게..

g

[코딩 테스트] 프로그래머스 연습 문제 - 달리기 경주

프로그래머스의 연습 문제 중 하나인 달리기 경주 문제를 풀어본다. 프로그래머스 연습 문제 - 달리기 경주 문제 https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 얀에서는 매년 달리기 경주가 열립니다. 해설진들은 선수들이 자기 바로 앞의 선수를 추월할 때 추월한 선수의 이름을 부릅니다. 예를 들어 1등부터 3등까지 "mumu", "soe", "poe" 선수들이 순서대로 달리고 있을 때, 해설진이 "soe"선수를 불렀다면 2등인 "soe" 선수가 ..

g

[C++] 참조자 (reference) 의 정의, 사용법 및 주의 사항

C++에서 활용되는 참조자 (reference)에 대해서 알아보도록 하겠다. [C++] 참조자 (reference)의 정의 및 사용법 참조자 (reference)의 정의 C언어에서 변수를 가리키는 것으로 포인터를 사용한다. 예를 들어 아래와 같이 포인터 변수 p를 선언하고 변수 a를 가리키게 하고 가리키는 값인 *p를 출력하면 3이 출력된다. int main(void) { int *p; int a = 3; p = &a; std::cout

개발/C, C++ 2023.03.28

g

[Git] .git 안에는 무엇이 있고 어떻게 동작할까

git을 사용하면서 동작하는 원리가 궁금할 때가 있었다. git의 원리를 제대로 이해하지 못하고 명령어만 사용한다면 실수할 확률이 높고 이해도 잘 안 되어 명령어를 잊어버리기 쉽다. 만약 git이 어떤 식으로 파일을 관리하고 동작하는지 이해한다면 git을 사용할 때 훨씬 더 자유롭게 사용할 수 있고 실수할 확률이 줄어든다. git의 동작을 파악하기 위해 git repository에 필수적으로 존재하는. git 디렉터리를 살펴보고 어떤 식으로 동작하는지 공부해 본다. 여러 블로그들을 보았지만 아래 블로그가 정리가 잘되어 있어서 참고했다. https://it-eldorado.tistory.com/4 . git 안에는 무엇이 있고 어떻게 동작할까 . git 디렉터리 구조 파악 git 동작 파악 . git 디렉..

개발/Git 2023.03.22

g

[ChatGPT] 챗GPT 가입, 사용법 및 활용 팁 정리

요즘 핫한 ChatGPT를 어떻게 가입하고 사용하고 활용하는지 활용 팁까지 정리해 보았다. 챗 GPT 가입, 사용법 및 활용 팁 정리 ChatGPT란 ChatGPT는 openAI라는 곳에서 만든 대화형 인공지능 AI기반 챗봇이다. ChatGPT(생성형 사전 학습 트랜스포머)의 원리는 딥러닝 기술을 사용하여 자연어를 이해하고 주어진 프롬프트나 대화에 대해 사람과 유사한 응답을 생성할 수 있는 언어 모델을 생성하는 것이다. 방대한 양의 텍스트 데이터에 대한 학습을 통해 언어의 기본 패턴과 구조를 학습할 수 있다고 한다. 이러한 학습을 통해 모델은 수신된 입력을 기반으로 가장 가능성이 높은 다음 단어 또는 단어 시퀀스를 예측하여 새로운 텍스트를 생성하는 것이라고 한다. 기존 챗봇들과 다르고 더 좋은 점은 딥러..

g

[Python] 파이썬 pytest의 test fixture를 활용해보자

pytest에서 test fixture를 활용해서 조금 더 복잡한 테스트가 효율적으로 가능하도록 구현해 보자 파이썬 pytest의 fixture를 활용해 보자 test fixture가 무엇인가 아래 위키피디아에 따르면 소프트웨어를 일관되게 테스트할 수 있는 환경이라고 한다. 테스트 픽스처는 일부 항목, 장치 또는 소프트웨어를 일관되게 테스트하는 데 사용되는 환경입니다. https://en.wikipedia.org/wiki/Test_fixture#Software Test fixture - Wikipedia From Wikipedia, the free encyclopedia Type of testing environment A test fixture is an environment used to consis..

개발/Python 2023.03.01

g

[Python] 파이썬 pytest를 활용해서 테스트 해보자

파이썬에서 유닛테스트를 구현하기 위해 pytest를 이해하고 활용해서 테스트를 구현해 본다. 파이썬 pytest를 활용해서 테스트해 보자 지난번 파이썬 테스트를 위해서 내장된 unittest 모듈을 활용해 보았다. 이번에는 pytest를 활용해서 파이썬을 테스트해 보도록 하겠다. 이번에는 Pycharm 보다 VS Code이 편해서 VS Code를 사용해서 진행해 본다. https://docs.pytest.org/en/stable/ pytest: helps you write better programs — pytest documentation pytest: helps you write better programs The pytest framework makes it easy to write small, r..

개발/Python 2023.02.28
반응형