9.18_CSS box-sizing - box에 맞추어 길이를 조절한다. CSS cheatsheet 부모자식 선택자 ul 태그 아래의 모든 li에 ul li { color:red; } #imgSelector의 바로 아래의 li 태그에만 #imgSelector > li { color:red; } ul태그, li태그 모두에 ul, li { color:red; } FRONT_END 2017.09.19
백준_11403_경로찾기 문제 : 인접행렬을 보고 i, j까지 가는 경로가 있으면 1 없으면 0을 출력해주는 문제 #include<iostream> using namespace std; int visited[100];//방문여부 int G[100][100];//입력값 int result[100][100];//최종 결과 그래프 int input; void input_value() { cin >> input; for (int i = 0; i < input; i++) { for (int j = 0; j < input; j++) { cin >> G[i][j]; } } } void DFS(int startnode) { for (int i = 0; i < input; i++) { if (G[startnode.. ALGORITHM 2017.09.19
Algospot_자바스크립트_Helloworld 문제 : 테스트케이스의 개수를 입력받고, '이름'을 입력하면 Hello '이름"을 테스트케이스의 갯수만큼 입력 받는다. 너무 쉽지만 js로 구현하므로 어렵다. var input = []; require('readline') .createInterface(process.stdin, {}) .on('line', function(line) { input.push(line.trim()); }).on('close', function() { for (var i = 1; i ALGORITHM 2017.09.18
최단 경로 전략 최단 경로 전략너비 우선탐색 대신 최댄 경로 문제를 풀기 위해 쓸 수 있는 2가지 방법 양방향 탐색 - 역방향 문제역뱡향 간선(?)을 찾아 내기 어려운 문제 너비의 노드가 각 3개씩있고, 깊이가 20일때 마지막 연산은 3^20이 된다. 이를 양방향에서 탐색하여 2*(3^(20/2))로 만들어 준다.점점 깊어지는 탐색 - 너비의 규모가 큰 탐색에서 깊이우선 탐색을 해야 메모리를 줄일 수 있다.문제가까운 순서대로 방문하지 않으므로 최단거리인지확신할 수없다.정점을 방문했는지 확인하지 않는다?해결 - 점점 깊어지는 탐색휴리스틱을 이용한 가지치기방법으로 사용하는 방법최단거리 best를 임의로 정해놓고 best를 넘으면 다시 길로 가고, 다 돌았는데 best값이 없으면 best++ 탐색방법 선택하기너비우선탐색을 최.. ALGORITHM 2017.09.17
프로그래머스_카카오프렌즈 컬러링 북 문제 : BFS, DFS를 이용하여 몇번 함수가 호출되는지 찾고, 가장 넓은 넓이를 구하세요. 클래스? 객체지향프로그래밍을 하겠다. BFS 길찾기 함수를 가지는 클래스를 만들고, 변수가 많이 사용되므로 모두 넣어 놓는다. 인스턴스를 생성해서 문제를 풀겠다. ?인스턴스, 객체, 클래스, ? ALGORITHM 2017.09.16
프로그래머스_카카오_문제4 문제 : 1와 0로 채워진 표(board)가 있습니다. 표 1칸은 1 x 1 의 정사각형으로 이루어져 있습니다. 표에서 1로 이루어진 가장 큰 정사각형을 찾아 넓이를 return 하는 solution 함수를 완성해 주세요. (단, 정사각형이란 축에 평행한 정사각형을 말합니다.) 모르겠다 ALGORITHM 2017.09.14
프로그래머스_카카오_데모3 문제 : 사각형의 3점이 주어졌을 떄 나머지 한점 구하는 방법 #include #include using namespace std; vector solution(vector v) { //vector의 값은 다음과 같이 읽어올 수 있습니다. cout ALGORITHM 2017.09.13
[?]프로그래머스_카카오_데모2 문제 :1부터 n까지 숫자가 중복되지 않고 모두 있으면 true, 없으면 false '중복' 이라는 단어를 보고 파이썬을 생각하였다. list(set(arr))로 중복을 제거하고 순서대로 만들면서해쉬테이블을 이용해 숫자가 있는지 탐색을 하는 코드를 작성하였다. 하지만 실패가 몇개 떴다. def solution(arr): arr=list(set(arr)) arrlen=len(arr) print(arr) for i in range(1,arrlen): if(arr[i-1] != i): return False return True ALGORITHM 2017.09.12
프로그래머스_카카오_데모1 문제 : 숫자 N을 입력받아서 각자리를 더해준 값 출력 int -> string -> char -> int ?? 간결하지 않다... #include<iostream> #include<stdio.h> #include<stdlib.h> using namespace std; int solution(int n) { int answer = 0; string tmp = to_string(n); for(int i=0;i<tmp.size();i++){ answer+=tmp[i]-'0'; } return answer; } int main(){ return solution(123); } ALGORITHM 2017.09.11
BFS_너비우선탐색 너비우선 탐색 (BFS) - 왜 너비우선 탐색인가? - 깊이 우선탐색과의 차이점 Concept 인접한 노드를 차례로 모두 방문하는 것 Queue를 이용한다. 왜 너비우선 탐색인가? - 탐색순서 A-(B-C-D)-(E-F) - height가 낮은 순서대로 탐색한다. 깊이 우선탐색과의 차이점 너비우선탐색 - 최소신장트리, 최단경로 - 무한히 깉은 트리에 효과적 - 목표노드로 가는 경로가 모두 같은 weight일때 비효율적 깊이우선 탐색 - 사이클 탐지, 위상정렬 - 무한히 넓은 트리에 효과적 - 목표노드가 없는 경로에 계속 빠질 수 있다. Queue를 사용하여 탐색한다. #Queue A pop A push B, C ,D (pop A) B C D pop B push E (pop B) C D E pop C pu.. ALGORITHM 2017.09.10