목록분류 전체보기 (156)
DOTY

배열은 잘 알고 있지만 Object는 조금 다른 듯 하여 헷갈릴까봐 기록해둬야 할 듯 싶었다. const Week = ["Mon", "Tue", "Wen", "Thur", "Fri", "Sat", "Sun"]; C++ 에서는 중괄호 ( '{ }' ) 를 썼다면, JS 에서는 대괄호 ( '[ ]' )를 쓴다. JS 에서의 중괄호는 Object에서 쓰이는데, 이를 배열처럼 쓴다면, SyntaxError가 뜰 것이다. 그럼... Object는 어떤 방식으로 써야할까..? ☞ 짝을 지어주자! const MyInfo = { age : "25", gender : "Male", isHandsome : true } 이런식으로 console.log를 찍으면, 이런식으로 나오게 되고, 또 신기한건 console.log(M..

JS는 HTML과 CSS를 더 멋있게 만들어준다고 생각하면 될 듯 하다. html의 코드에서 body 안에 반드시 마지막에!!!! 넣어야 한다. This is my first JS! body { background-color: tomato; } alert('Hello world!!!!'); HTML에 첫 JS를 씌운 것이다. 페이지를 켜게 되면(새로고침 포함) alert가 뜬다. 원하는 문장을 쓸수도 있고 뭐 여러가지 할 수 있다!!!! (심지어 변수까지) 여기서는 선언을 let 으로 하는 듯 보인다. 등등!!!! 흠.... 뭔가 다른게 있으려나 싶었는데 C++ 쓰는거랑 비슷한 느낌이 들어서 자세한건 적지 않을 것이다. 처음 알게 된 것들만 적어둬야징~

www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 그냥 머리 가는대로 구하면 시간초과가 걸린다. 어떻게 해야할까....? #include using namespace std; int zero[41] = {1, 0, 1, 1, 0, }; int one[41] = {0, 1, 1, 0, }; int fibonacci_zero(int n) { if(zero[n] == 0 && n > 3) { zero[n] = fibonacci_zero(n-1) + fibonacci_zero(n-2); } return zero[n]; } int fibonacci_one(int n..

1. '>' 사용 일일히 직접 쓰는게 너무 귀찮은건 다들 알것이다. 그럴때 사용해보자!!! nav>ul>li*4 이걸 쓰면 어찌 되느냐!? 만족. (참고로 nav는 navigation으로 다음과 같은걸 만들고 싶을 때 쓴다.) NAVER밑에 로그인, 부동산, 연예 처럼 표현하고 싶을때. 2. box-sizing 이런 느낌으로...???? 그럴때 사용하는 것!!!! width: 100%; 를 넣어주자. .... 는~ 원래 말하려던건 아니고... 저걸 넣어주게 되면 끝이 사라졌다....??? 이는 padding을 넣어줬기 때문인데 이를 고치기 위해선 다음 코드를 넣어주자. box-sizing: border-box; 이걸 넣어주면~ 이렇게 된다!!! 이 기능은 box사이즈를 미리 정해둔다고 생각하면 된다. 크..

좀 더 쉽게 읽는 CSS를 위한 규칙이라고 보면 된다. 참고로 btn은 버튼을 말하는 것이다. 1. block : .btn 2. Element : .btn__price 3. Modifier : .btn--orange (밑줄이 아님) (각각은 class name이다.) 1. block block하면 생각나는 그 블록 생각하는게 쉬울 듯 하다. 뭉텅이???? (....큼흠....) 2. Element Element는 block의 구성 요소라고 생각하자. 3. Modifier Modifier은 어떤 스타일인지(?) Block과 Element의 모양을 생각하면 될 듯 싶다. 아래를 보자. btn이라는 block이 있는데 이를 구성하는 Elements들(btn__price, btn__text)과, Modifier..
어떤 알고리즘인지 모르고 있었지만 이번 기회에 문제를 풀면서 알게 된 알고리즘. 아직은 어떤 타이밍에 이 알고리즘을 써야 하는지 모르지만, 연습하다보면 알게 될것이라 믿는다.....ㅠㅠ 방법은 다음과 같다. 1. 두개의 포인터가 있다. 본인은 front, end로 정한다. 2. 두 포인터중 하나라도 배열의 크기를 넘어가게 되면 그대로 끝! 3-1. 두 포인터의 범위에서 모자라면 end로 범위를 늘려준다. 3-2. 두 포인터의 범위에서 넘치게 되면 front로 범위를 줄여준다. 생각보다 간단한 알고리즘. 그런데 시간복잡도는 O(N)밖에 안된다. 원래대로 하려면 for문을 두개 쓰는 등 해야하는데!!! 빠르자너.....!!! 예시를 들어보자. (초기 : front = 0, end = 0, answer = 9..
programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr BFS, DFS 모두 가능한 문제. 하지만 나는 BFS가 더 좋아서 BFS했음 ㅎㅎㅎㅎㅎㅎ #include #include #include using namespace std; int solution(string begin, string target, vector words) { int answer = 0; int flag = 0; ..
programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있�� programmers.co.kr 까다로워 보이지만 자료 정리만 잘 해놓으면 기본적인 DFS와 다를게 없다. #include #include using namespace std; bool check[200] = {0, }; vector link[200]; void dfs(int x) { check[x] = 1; for(int i = 0; i < link[x].size(); i++) { int y = ..
programmers.co.kr/learn/courses/30/lessons/43165?language=cpp 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 한두 달 전에 시도했다가 포기했던 문제... 설욕전 대성공 ㅎㅎㅎㅎㅎㅎㅎㅎ #include #include using namespace std; int s = 0; int answer = 0; void dfs(int cnt, vector numbers, int target) { if(cnt == nu..

www.acmicpc.net/problem/1987 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 다 풀었다.... 는 통수 딱!!!!! (85% 에서 헤맸다....ㅠㅠㅠ) #include #include using namespace std; vector road; int R, C; int answer = 1; char map[21][21]; bool check[21][21] = {0, }; int dx[] = {1, 0, -1, 0}; int dy[] = {0, 1, 0, -1}; void dfs(..