본문 바로가기

분류 전체보기

(388)
<자바스크립트 기초> 07. 배열 * 배열이란 - 배열(Array)은 한 변수에 여러개의 데이터를 담을 수 있는 형식이다. * 배열의 생성 - 배열은 대괄호를 이용하여 만든다. var students = ['harry', 'iu', 'suzy']; alert(students[0]); alert(students[1]); alert(students[2]); // harry // iu // suzy - 배열에 각각의 원소(Element)를 담으면 이는 각각 식별자를 가지게 된다. 프로그래밍에서 첫번째는 0을 의미한다. 이 때 이러한 식별자를 색인(Index)라 한다. - 배열의 각 원소를 불러오기 위해 변수뒤에 인덱스를 대괄호에 넣어 불러올 수 있다. * 배열과 반복문 - 위의 배열에서 하나의 원소가 추가되거나 여러 개의 원소가 추가되었을 때..
<CSS 기초> 09. Media Query 이번 장에서 배울 내용은 미디어 쿼리이다. 이는 반응형 웹에서 필수적인 속성이다. HTML에서 view port를 메타데이터로 선언해야만 사용 가능하다. @media screen and (min-width : 768px) { } 위와 같은 방식으로 사용 가능하다. 위는 768이상에서의 스타일을 작성하겠다는 의미이다. 참고로 미디어쿼리를 쓰며 자주 width를 100%를 주는 경우가 많아지는데 이 때 height를 100vh 로 선언하면 보이는 viewport 의 높이만큼 크기를 선언 가능하다. 미디어쿼리는 작은 사이즈(모바일)부터 대응하는게 정석이다. 사이즈별로 수정하고 싶은 부분에 대해서만 미디어쿼리를 선언하고 작성하면 되는데, 위에서 bottom : 0; 에서 선언한 것을 특정 사이즈에서 top : ..
<문자열> 1152번 단어의 개수 with 파이썬 문제 영어 대소문자와 띄어쓰기만으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다. 입력 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열의 앞과 뒤에는 공백이 있을 수도 있다. 출력 첫째 줄에 단어의 개수를 출력한다. 정답비율 27.301% lst = input().split() print(len(lst)) 정답비율이 30%도 안되길래 걱정했으나 너무 쉬운 문제였다. 문자열을 split메소드를 통해 띄어쓰기로 구분된 리스트로 만..
<자료구조> 스택과 큐(2) 1. 큐란 * 큐 - 스택과 같이 데이터를 임시 저장하는 자료구조이지만 가장 먼저 넣은 데이터를 가장 먼저 꺼낸다는 차이가 있다. (선입선출구조) - 인큐(enqueue) : 큐에 데이터를 추가하는 행위 - 디큐(dequeue) : 큐에서 데이터를 꺼내는 행위 - 프론트(front) : 데이터가 빠지는 가장 앞쪽 부분 - 리어(rear) : 데이터를 넣는 부분 2. 배열과 큐 - 인큐 : 맨 끝 데이터의 다음 인덱스에 원소를 저장하여 처리의 복잡도는 O(1)이고 cost가 적다. - 디큐 : que[0]에 저장된 원소를 꺼내면서 이후의 원소를 모두 앞쪽으로 옮겨야한다. 따라서 복잡도는 O(n)이고 매우 비효율적이다. ※ 우선순위 큐 : 인큐할 때 데이터에 우선순위를 부여하고 디큐할 때 우선순위대로 꺼내는..
<문자열> 1157번 단어 공부 with 파이썬 문제 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 입력 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. 출력 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다. 정답비율 38.657% counts = dict() x = input().upper() for i in x : counts[i] = counts.get(i, 0) + 1 max = max(counts.values()) multi = 0 for i in counts : if co..
<자바스크립트 기초> 06. 함수 * 함수 - 함수(Function)는 자주 사용하는 로직을 정리하여 필요할 때 마다 재사용하도록 돕는 것이다. - 이는 반복문과 마찬가지로 코드의 재사용성을 매우 높여줄 뿐만아니라 코드 곳곳에서 사용하더라도 함수부분만 보수하면 다른 부분까지 영향을 미치므로 유지보수도 용이하다. - 함수를 사용함으로써 코드가 간단해지고 이는 가독성을 높여준다. - 반복문은 한 곳에서 여러작업을 반복할때 사용한다면 함수는 여러곳에서 비슷한 작업을 반복할 때 사용한다. * 함수의 사용 function sumtwo(a, b){ return a + b; } alert(sumtwo(20, 80)); // 100 - 함수의 정의 : 함수는 먼저 fuction 을 써서 정의를 해야한다. 그 뒤에는 임의의 함수명을 사용한다. - 함수의..
<CSS 기초> 08. Flex Box 이번 장에서 알아볼 내용은 드디어 Flex box 이다. 지금까지 배웠던 박스 타입들은 위치를 잡기가 매우 힘들고 번거로웠지만 Flex box가 있으면 매우 편해진다. Flex box는 크게 4단계의 step을 생각하자. 첫 번째는 선언이다. 플렉스박스를 쓰겠다고 선언하는 것이다. 두 번째는 가로로 정렬할 것인지 세로로 정렬할 것인지를 결정하는 것이다. 세 번째는 반드시 한줄로 나타낼 것인지 사이즈가 모자라면 다음 라인으로 보낼 것인지 결정하는 것이다. 반드시 한줄로 나타낸다면 사이즈가 자동으로 조절될 것 이다. 마지막 네 번째는 예쁘게 사용하는 것이다. 이제 단계별로 하나씩 알아보자. 1. 선언 - 플렉스 박스를 사용하려면 부모에게 display값을 flex 또는 inline-flex로 주면된다. di..
<문자열> 2675번 문자열 반복 with 파이썬 문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다. QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다. 입력 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다. 출력 각 테스트 케이스에 대해 P를 출력한다. 정답비율 53.223%..
<CSS 기초> 07. Position Position은 요소의 위치를 잡기위해 사용하는 속성이다. 타입은 총 5가지가 있다. static, relative, absoulute, fixed, sticky 이다. 이 중 sticky는 지원하는 브라우저가 적으므로 나머지 4개를 알아보자. 타입에 따라 기준점을 무엇으로 하느냐가 달라진다. 타입을 준 후 속성값으로 top right bottom left를 줄 수 있는데, 4가지를 모두 사용하기보다 가로 중 하나와 세로 중 하나를 쓰는 게 효율적이다. 1. Static static은 별도의 지정없이 모든 요소의 기본 상태이다. 2. Relative relative의 기준점은 원래 있던 자리이다. .class01 { position: relative; top: 20px; right: 5px; } 위와 ..
<자바스크립트 기초> 05. 반복문 * 반복문이란 - 반복문은 비슷한 작업을 반복해야할 때 프로그래밍을 통해 컴퓨터에게 반복적 작업을 지시하는 구문이다. 이러한 의미로 반복문은 주로 loop라고 불린다. - 반복문은 while문과 for문으로 나뉜다. * while - while문은 if문과 같이 불린값이 오는 조건을 적고 이 조건이 true일때 반복이되는 구문이다. - 이 때 무한루프가 생성될 수 있으므로 주의해야한다. var i = 0 ; while(i < 5){ document.write('Welcome to My Blog' + i + ''); i ++ } - 위는 i를 통해 무한루프가 생성되지 않도록 제어하였다. i++ 를 통해 i는 1씩 커지게되었고, i가 5보다 작아졌을 때 비로소 while문을 탈출한다. * for 문 - fo..