문제https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15OZ4qAPICFAYD SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 문제 요약김대리는 회사에서 출발김대리는 모든 고객의 집 방문이후 집 도착위 조건으로 집, 회사, 고객의 집 좌표 정보를 이용해, 최단 거리를 구하는 문제이다. 문제 풀이고객의 수 = 2~10x, y 좌표 = 0~100 10개의 집을 순서대로 나열하는 경우의 수를 구하면10! = 약 300만이다. 좌표상 최장거리 = 200, 10개의 집최고 거리 = 200 * 10이다.즉, Integer 범위로 해..
분류 전체보기
작성 계기사내 연구목적 앱 개발해 로그 파일을 txt 확장자로 저장했다.[x, xx, xxx,]위와 같은 데이터의 형태로 저장되어 있다. 사내의 본부장님께 로그 파일을 json 형식으로 저장해 송부하는 업무를 맡아, json으로 변환된 파일을 xxx.json으로 첨부해 메일로 송부드렸다. 그런데, 갑자기 본부장님이 나를 부르셨다. "Json 파일? Json 파일이라는게 뭐에요?"라고 물으셨다.나는 당연히 Json은 key-value 쌍으로 저장되는 형식으로 저장된 파일이라고 설명드렸다. 그런데, 그건 나의 착각이었다.파일 내 데이터 형식와 확장자는 달라도 상관 없다는 것이다.Json 형식이 지켜지는 파일을 .json, .txt 또는 확장자가 없이 저장해도 상관없다. 파일 확장자란, 운영체제에게 이 파일을..
작성 계기최근 사내에서 바이브 코딩을 도입해 생산성을 극대화하고 싶은 분위기가 조성되고 있다.이에, 바이브 코딩이 정확히 무엇인지 궁금해 이 글을 작성한다. 바이브 코딩이 생기기 이전 시점을 생각해보자.ChatGPT, Gemini, Claude 등 생성형 AI를 활용해 어떤 상황인지와 어떤 기능을 구현하고 싶은지 작성구현된 부분을 검증해 복사/붙여넣기로 코드 반영 위와 같이 개발하면서 불편한 점은 아래와 같았다.프로젝트 구조를 파악하지 못해 다른 코드에 맞지 않게 구현되지 못하는 점복사/붙여넣기를 수행하지만, 삽입 부분을 생각하면서 코드를 수동으로 붙이는 점 이에 사용자가 프롬포트로 AI에게 질의하면 자동으로 프로젝트 구조를 파악하고 코딩을 해주는 방식이 등장하게 되었다. 바이브 코딩자연어(일상적 언어)..
카공하러 돌아다니면서, 괜찮았던 카페 여러 곳을 공유드리고자 합니다.좋은 곳이 있었다면, 더 추가할 예정입니다. 카페 구월https://naver.me/xZVbkhU7 네이버지도카페구월map.naver.com 브라운 헤이븐 삼선교우리 학교 근처에 이런 카공 카페가 있는지 정말 몰랐다.학교 다닐 때 몇 번 가봤으면 좋겠다는 생각이 들었다.https://naver.me/FpxlntWU 네이버지도브라운헤이븐 삼선교map.naver.com 콘하스 DDP여기는 창가자리가 진짜 좋다창가자리 아니면 허리가 망가지는 것 같다... https://naver.me/x2jQdM3g 네이버지도콘하스 ddp점map.naver.com 콘하스 연남점여기는 DDP점과 다르게 창가나 안쪽 자리 모두 콘센트가 있고자리가 모두 편하다....
SVNSubVersion, 중앙 집중형 버전 관리 시스템형상 관리 도구의 일종Git과 달리, Commit을 수행하면 로컬에 반영되는게 아니라 원격에 즉각 반영된다.Trunk라는 메인 개발 소스가 존재한다.(Git의 main, master와 유사)같은 파일에 다른 부분을 수정할 경우 Update 수행 시 즉각 반영같은 파일에 같은 부분을 수정할 경우 Conflict 발생Conflict 해결 후, Resolved로 병합 완료하고 Commit을 수행해야함.Respository에서 새로운 브렌치를 생성해서 작업하면 된다. 주요 용어Repository: 소스코드, 파일이 저장된 저장소Checkout: 최초로 저장소에 있는 소스코드 작업 폴더를 지정해서 가져오는 작업Revision: 소스 코드의 변화의 수(Comm..
ADBAndroid Debug BridgeAndorid 디바이스와 컴퓨터 간의 통신을 가능하게 하는 명령어 기반 인터페이스Android 애플리케이션을 디버깅하거나 디바이스의 파일 시스템에 접근하고 다양한 작업을 수행할 수 있도록 도와주는 도구Android SDK에 포함된 platform-tools 패키지에 속해 있으며, Command line을 통해 실행 선행 조건1. 개발자 옵션 활성화2. 개발자 옵션 내부에서 USB 디버깅 활성화3. ADB 디바이스 연결 확인 -> "adb devices" 명령어 기입 역할애플리케이션 디버깅개발자는 ADB를 이용해 디바이스에서 실행중인 애플리케이션의 로그를 확인하고, 버그를 찾아 오류를 수정adb logcat 명령어를 사용하면, 애플리케이션의 로그를 실시간으로 확인a..
Static'정적인' 사전적 의미를 가짐클래스가 메모리에 로딩 시점에 한번에 생성되어 프로그램 종료 시까지 유지한 클래스에서 공통적인 값을 유지할 필요가 있는 경우객체를 생성하지 않고 로 접근 Static 변수모든 인스턴스가 변수를 공유한다. 같은 타입의 인스턴스가 값을 바꾸면 다른 객체의 Static 변수도 값이 변한다.class Counter { static int count = 0; // 모든 인스턴스가 공유 int id; // 각 인스턴스마다 다른 값 Counter() { count++; id = count; }}public class Main { public static void main(String[] args..
사진 참여계기주변에 안드로이드 개발자 지인이 잘 없기도 했고, 어떤 대단하신 안드로이드 개발자가 있는지 너무 궁금했다.그래서 참여를 하게 되었는데 정말 재미있었고 알찼다. 후기Firebender라는 안드로이드 스튜디오에 내장할 수 있는 AI 도구를 알려주셨는데, 너무 유용하다는 생각이 들었고 새로운 기술을 알 수 있어 너무 좋았다. 제일 인상 깊었던 점은 학습하는데 있어서 코드를 보관하거나 저장하지 않는다고 명시된다는 점이었다.스피커께서 블로그에 Koin이라는 라이브러리가 Service Locator로 작성되어 있다는 글이 많다고 하셨지만, 이것이 잘못된 점과 반박을 해주시는 발표를 해주셨는데, 정말 인상 깊었다. 기술에 대한 본질을 잘 아시는 것 같아서 너무 존경스러웠고, 향후 저런 개발자가 되고 싶다..