Programmers_Level3_기지국 설치
·
Algorithms
https://school.programmers.co.kr/learn/courses/30/lessons/12979 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   문제 접근 방식은 설치된 기지국의 전파 범위를 담은 백터를 이용하여 기지국을 설치해 가는 방식이었는데 정확도에서는 맞았지만 효율성에서 다 틀렸다...  아마 백터를 새로 하나 만들어서 그런듯하다. 그래서 새로는 백터를 만들지 않고 기지국을 설치하는 방법으로 접근을 해보았다. 오답 코드 (70.5점) #include #include using namespace std;class StationInst..
Programmers_Level2_게임 맵 최단거리
·
Algorithms
https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   문제를 보고 처음엔 DFS로 풀까 하다가 BFS로 풀기로 했다. 이유는 첫째로 BFS를 익숙하게 쓰고 싶어서 이고 둘째로는 DFS 모든 경로를 찾아 들어가고 그 중에 최단거리를 구해야하지만 BFS의 경우 방문한 노드가 목적지라면 그때까지의 경로가 최단 거리를 보장한다.  어째서 BFS로 탐색할 때 목적지에 도착하는 순간이 최단거리를 보장한다고 물으신다면..BFS 복도식 아파트 같은 느낌이다.  각 ..
Programmers_Level2_123 나라의 숫자
·
Algorithms
https://school.programmers.co.kr/learn/courses/30/lessons/12899 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   1, 2, 4의 3가지의 숫자로만 표현해야해서 3진수가 바로 생각이 났다. 아-주 쉽게 풀겠구만 했는데 처음부터 오답만 나와서 살짝 당황했다.  간단하게 10진수가 들어온다면 그 숫자를 3으로 나눈 나머지 값에 따라 변환하고받은 정수를 3으로 계속 나눠가는 것이다.  오답 노트 (5점 코드) while(n > 0) { int temp = n % 3; ..
OOP - Object Oriented Programming 객체 지향 프로그래밍
·
C++
객체(개체) 지향 프로그래밍은 소프트웨어 설계 패러다임 중 하나로,Object의 모음으로 Object 간의 상호작용을 통해 작업을 수행하는 방식이다.캡슐화, 상속, 다형성, 추상화 등 네가지 개념이 있다. 1. 캡슐화 (Encapsulation)개체의 데이터와 이를 처리하는 메서드를 하나로 묶어 개체의 내부 상태를 외부로부터 숨기고개체의 인터페이스를 통해서만 접근 가능하도록 제한한다.데이터 보호가 가능하고 코드의 모튤화나 유지보수가 용이하다class Car {private: int speed; // 캡슐화된 데이터public: void setSpeed(int s) { // 공개 메서드를 통해 데이터 접근 if (s > 0) speed = s; } int getSpee..
Programmers_Level2_피로도
·
Algorithms
https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   우선 깊이 우선 탐색 (DFS : Depth First Search)로 모든 던전을 돌아다닌다. Depth를 비교하여 Depth가 깊다 == 많은 던전을 방문했다로 하였다.  부모님끼리 친하셔서 어쩔 수 없이 알게된 사이라서 이름만 알고 어색한 사이같은 재귀를 사용하였는데 Depth를 비교하기 위한 result 와 answer 변수를 재귀 함수 안에서 선언하고 초기화 하였고그리고 방문한 던전의 확..
Programmers_Level3_등굣길
·
Algorithms
https://school.programmers.co.kr/learn/courses/30/lessons/42898  프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   깊이 탐색으로 학교에 도착하는 길의 갯수를 세다보니 효율성 테스트에서 걸렸다. 최단거리의 경우의 수를 찾는 다른 접근이 필요했다. 왼쪽 위에서 오른쪽 아래로 가야하고 오른쪽과 아래 이동밖에 없으니 짧은 길을 비교할 필요 없이 출발부터 도착까지의 경우의 수만 찾으면 된다.  집[1,1]부터 [1,2]로 가는 길은 하나 밖에 없다. 또 집[1.1]부터 [2.1]으로 가는 길 또한 하나 밖에 없다. ..
Rudolufoo
Just do