반응형

개발 106

g

[파일 형식] JSON 파일의 형식과 문법에 대해서

어디선가 자연스럽게 많이 보았던 JSON 파일에 대해서 알아본다. 실제로 프로그램에서 활용하는 읽어보는 것까지 알아보도록 한다. JSON 파일의 형식과 문법에 대해서 JSON이 뭐지? JavaScript Object Notation (JSON)은 Javascript 객체 문법으로 구조화된 데이터를 표현하기 위한 문자 기반의 표준 포맷이다. 웹 애플리케이션에서 데이터를 전송할 때 일반적으로 사용한다. JSON이 Javascript 객체 문법과 매우 유사하지만 딱히 Javascript가 아니더라도 JSON을 읽고 쓸 수 있는 기능이 다수의 프로그래밍 환경에서 제공된다. 확장자는. json으로 생성한다. VS Code에서 JSON 확장 설치 가장 먼저 json 이라는 VS Code 확장을 설치했다. 제대로 활..

g

[파일 형식] YAML 파일의 형식과 문법에 대해서

프로그래밍을 하다 보면 실제 언어로 구현된 파일뿐만 아니라 어떤 데이터나 환경 설정 등이 필요한 경우들이 있다. 그럴 때 필요한 것이 특정한 파일 형식이다. 내가 정한 문법대로 내 프로그램에서만 사용해도 상관없지만 다른 프로그램들과의 호환성을 위해서는 많이 사용되는 형식을 따르면 훨씬 더 활용도가 높아질 것이다. 대표적인 파일 형식들에 대해서 알아보고 어떻게 사용하는지 알아보도록 하겠다. 첫 번째로 YAML 파일 형식과 문법에 대해서 알아보겠다. YAML이란? yml 이나 yaml과 같은 확장자를 가진 파일이다. 출력 가능한 유니코드 문자 집합(UTF-8, UTF-16 등)을 이용한다. 다른 시스템과 상호작용할 수 있는 데이터를 표현하는 다른 형식인 XML이나 JSON보다는 읽기 쉽게 표현할 수 있다. ..

g

[코딩 테스트] 소프티어(Softeer) 연습 문제 - 근무 시간

코딩 테스트를 위한 소프티어(Softeer) 연습 문제 중 근무 시간 문제를 풀어보았다. 연습 문제 - 근무 시간 난이도 : level 1 정답률 : 93% https://softeer.ai/practice/info.do?idx=1&eid=990 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 해설 문제는 이해는 아주 쉽다. 월~금요일까지의 출근 시간과 퇴근 시간이 주어지면 일주일 동안 총 몇분 근무했는지 출력하는 프로그램이다. 여기서 포인트는 입력이 아래와 같이 입력이 되는데, 효율적으로 입력을 계산하는 것이다. // 입력 10:00 19:00 09:00 15:00 10:00 11:00 11:00 22:00 09:00 15:00 // 출력 1980 // 월요일에..

g

[코딩 테스트] 소프티어(Softeer) 연습 문제 - 주행거리 비교하기

코딩 테스트를 위한 소프티어(Softeer) 연습 문제 중 주행거리 비교하기 문제를 풀어보았다. 연습 문제 - 성적평가 난이도 : level 1 정답률 : 85% https://softeer.ai/practice/info.do?idx=1&eid=1016 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 해설 두 개의 숫자 A, B를 입력받고 더 큰 것을 출력하고 같으면 same을 출력하는 문제이다. 간단히 입, 출력과 비교를 하고 string을 다루기만 하면 되는 문제이다. 코드 #include #include using namespace std; int main(int argc, char** argv) { int A, B; string result; cin >> ..

g

[코딩 테스트] 소프티어(Softeer) 연습 문제 - 성적평가

코딩 테스트를 위한 소프티어(Softeer) 연습 문제 중 성적평가 문제를 풀어보았다. 소프티어에서 처음으로 풀어보는 level3이며 인증평가(5차) 기출문제여서 조금 시간을 들여서 풀어보았다. 연습 문제 - 성적평가 난이도 : level 3 정답률 : 37% https://softeer.ai/practice/info.do?idx=1&eid=1309 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 해설 N명 (10만)이 3개의 대회에 참가한다. 참가자들은 0~1000의 점수를 획득하고 동점이 있을 수도 있다. 이 점수를 통해 높은 점수부터 등수가 결정되고, 공동 순위도 나타난다. 만약 공동 1등이 나왔다면 그다음은 2등이 아니라 3등이 될 것이다. 문제에서는 "나..

g

[코딩 테스트] 소프티어(Softeer) 연습 문제 - 8단 변속기

코딩 테스트를 위한 소프티어(Softeer) 연습 문제 중 8단 변속기 문제를 풀어보았다. 연습 문제 - 8단 변속 난이도 : level 2 정답률 : 63% https://softeer.ai/practice/info.do?idx=1&eid=408 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 해설 8단 변속기 문제는 1부터 8까지의 숫자가 나열된 입력이 들어오면 ascending, descending, mixed 3가지의 결과를 출력하는 것이다. 1씩 증가하면 ascending, 1씩 감소하면 descending을, 일정하게 증가하거나 감소하지 않는 다면 mixed를 출력한다. 기본적인 문제로 판단되며, 효율적으로 조건식을 짤 수 있는지에 대한 문제인 것으로 ..

g

[코딩 테스트] 소프티어(Softeer) 연습 문제 - 바이러스

코딩 테스트를 위한 소프티어(Softeer) 연습 문제 중 바이러스 문제를 풀어보았다. 연습 문제 - 바이러스 난이도 : level 2 정답률 : 30% https://softeer.ai/practice/info.do?idx=1&eid=362 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 해설 최초 K개의 바이러스가 초당 일정 배수 P로 증가하는데 N초 후에는 바이러스가 몇 개가 되는지에 대한 문제이다. 죽는 바이러스는 없으니 별로 어렵지 않은 문제이다. K, P가 10^8이고 N이 10^6이다. 여기서 주의할 점은 바이러스 개수를 1000000007으로 나눈 나머지로 표시하는 것이다. 단순히 mod 연산을 하면 되는데 괜히 어렵게 생각하다 보면 오히려 복잡해질..

g

[코딩 테스트] 소프티어(Softeer) 연습 문제 - 금고털이

코딩 테스트를 위한 소프티어(Softeer) 연습 문제 중 금고털이 문제를 풀어보았다. 연습 문제 - 금고털이 난이도 : level 2 정답률 : 33% https://softeer.ai/practice/info.do?idx=1&eid=395 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 해설 금고에 금속이 있다. 이 금속들을 배낭에 담는 문제이다. 배낭은 담을 수 있는 무게가 정해져 있고 각 금속들은 무게와 무게당 가격이 정해져 있다. 이때 배낭에 가능한 비싸게 배낭을 채우는 문제이다. 톱이 있어서 금속을 자를 수도 있다. 일단 N은 10^6 이므로 최소한 O(N^2) 보다는 적은 시간복잡도를 가지도록 구현해야 한다. 톱이 있다고 해서 경우의 수가 굉장히 많아..

g

[코딩 테스트] 소프티어(Softeer) 연습 문제 - A+B

코딩 테스트를 위한 소프티어(Softeer) 연습 문제 중 아주 간단한 문제인 A+B 문제를 풀어보았다. 연습 문제 - A + B 난이도 : level 1 정답률 : 90% https://softeer.ai/practice/info.do?idx=1&eid=362 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 해설 문제는 간단히 입력을 받고 출력하는 문제이다. 입출력을 연습하는 문제이다. 그냥 한번 테스트 삼아 풀어보는 문제라고 볼 수 있다. 제출한 코드는 아래와 같다. 코드 #include using namespace std; int main(int argc, char** argv) { int N, A, B; cin >> N; for (int i = 0; i <..

g

[Git] .gitignore를 설정해서 불필요한 파일 무시하기

우리가 git repository를 사용해서 commit 하고 push 하는 식으로 코드를 관리할 때, commit 하거나 push 하고 싶지 않은 파일이 있을 수 있다. 예를 들면 IDE에서 로컬에 파일을 생성해서 캐시 해두고 빌드나 각종 환경설정을 위해 사용하는 파일들 같은 경우는 사람마다 환경이 다를 수도 있고 또 사용하는 IDE가 다를 수도 있다. 이런 경우에는 git commit/push 하는 경우에 해당 파일들을 제거해서 commit/push 해야 한다. 한두 번이야 일일이 내가 제거하면 되지만 여러 번 반복되는 작업을 할 때에 굉장히 비효율적이고 불편하다. 그래서 필요한 파일이 바로. gitignore이다. . gitignore를 설정해서 불필요한 파일 무시하기 . gitignore는 파일명..

개발/Git 2023.02.06
반응형