본문 바로가기

전체 글

(2344)
(C++) - 프로그래머스(2017 팁스타운) : 짝지어 제거하기 답 programmers.co.kr/learn/courses/30/lessons/12973?language=cpp 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 풀이방법 1. 스택이 비어있다면 push 2. 스택이 비어있지않다면 2-1. top과 현재 비교하는 문자가 같으면 pop합니다. 2-2. 다르면 stack에 push합니다. Code #include #include #include using namespace std; int solution(string s) { stack pairing; i..
(Javascript) - 프로그래머스(월간코드챌린지) : 이진 변환 반복하기 답 programmers.co.kr/learn/courses/30/lessons/70129 코딩테스트 연습 - 이진 변환 반복하기 programmers.co.kr 풀이방법 1. 문자열에서 '0'을 제거합니다. 2. 제거한 0의 개수를 세고 answer배열을 갱신합니다. 3. 기존 문자열을 남은 1의 길이를 이진법으로 바꾼 문자열로 바꾸고 '1'인지 비교합니다. 4. 갱신된 문자열이 '1'이라면 루프를 탈출해 반환합니다. Code function removeZero(convertedWord, answer) { let tmp = ""; for (let i = 0; i < convertedWord.length; i++) { if (convertedWord[i] !== "0") tmp += convertedWord..
(C++, Javascript) - 프로그래머스(Summer/Winter Coding(~2018)) : 소수만들기 programmers.co.kr/learn/courses/30/lessons/12977 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 소수 판별, 조합 구현 문제였습니다. 풀이방법 1. 3개의 수를 조합(순서 상관 O)으로 뽑은 후 세 수를 더한 값을 구합니다. 2. 해당 값으로 미리 1만까지의 자연수에 대한 소수여부를 판별한 배열과 대조해 소수여부를 판별합니다 : 에라토스테네스의 체 (시간복잡도 O(N루트N)) Code C++ #include #include using namespace..
CSS 1. CSS 소개 1.1 Cascading Style Sheets HTML(마크업 언어)을 꾸며주기 위해 존재하는 언어입니다. html이 웹페이지의 정보를 표현한다면, CSS는 html을 보기 좋게 디자인하는 역할입니다. CSS는 HTML과는 독립된 다른 언어지만 마크업 문서가 없다면 표현할 대상이 없기 때문에 HTML과 같이 묶어서 이야기합니다. CSS가 존재하기 때문에 같은 html코드로 짜여진 웹 사이트라도 표현방식 즉, CSS가 다르므로 겉으로 보이는 모습이 각자 달라질 수 있습니다. 2. CSS 문법 2.1 CSS 구문 h1 { color: yellow; font-size:2em; } 선택자(selector) - "h1" 속성(property) - "color" 값(value) - "yellow..
(C++) - 프로그래머스(월간코드챌린지) : 쿼드압축 후 개수 세기 programmers.co.kr/learn/courses/30/lessons/68936 코딩테스트 연습 - 쿼드압축 후 개수 세기 [[1,1,0,0],[1,0,0,0],[1,0,0,1],[1,1,1,1]] [4,9] [[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[0,0,0,0,1,1,1,1],[0,1,0,0,1,1,1,1],[0,0,0,0,0,0,1,1],[0,0,0,0,0,0,0,1],[0,0,0,0,1,0,0,1],[0,0,0,0,1,1,1,1]] [10,15] programmers.co.kr 재귀함수를 구현하는 문제였습니다. 풀이방법 1. 부분 정사각형의 면적이 모두 같은 영역인지 확인합니다. 2. 정사각형의 영역이 모두 같은 수(0,1)로 되어 있다면 압축이 가능합니다. 반대..
(C++) - 프로그래머스(2017 카카오 코드 예선) : 카카오프렌즈 컬러링북 programmers.co.kr/learn/courses/30/lessons/1829 코딩테스트 연습 - 카카오프렌즈 컬러링북 6 4 [[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]] [4, 5] programmers.co.kr BFS를 이용해 풀었던 문제였습니다. 풀이방법 1. visit하지 않은 영역마다 영역의 개수를 증가 2. visit하지 않은 영역마다 bfs함수 실행, 영역의 크기를 반환 Code #include #include #include #include #include using namespace std; int visit[101][101]; int dx[4] = {0,0,1,-1}; i..
(Javascript) - 프로그래머스(2019 카카오 겨울 인턴) : 징검다리 답 programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 구현하는 문제였습니다. 풀이방법 1. 인형을 뽑을 때의 위치(행)를 구한다. 2. 뽑은 인형을 배열에 담고 연속인지 판별해 상태를 갱신한다. 3. 답출력 Code function getDollPos(board,oneMove){ for(let i = 0; i < board[0].length; i++){ if(board[i][oneMove]) return i; } return -1; } function u..
HTML 1. HTML 소개 1.1 Hiper Text Markup language(HTML) Hyper Text : 웹 페이지의 특정 부분과 연결할 수 있는 기능을 가진 텍스트 즉, 링크를 의미합니다. Markup Language : 프로그래밍 언어의 한 종류로 정보를 구조적, 계층적으로 표현 가능하다는 특징이 있습니다. HTML은 파일 확장자로 .html을 쓰며, 그 파일 안에 html 코드를 작성하게 됩니다. 2. HTML 문법 HTML문법은 크게 4가지입니다. 태그(태그, 빈 태그, 중첩태그) 속성 공백 주석 코드를 예시로 들면 다음과 같습니다. 2.1 태그(Tag) 의미 : 무언가를 표시하기 위한 꼬리표, 이름표 특징 : 기호로 표현, 기호 사이에 태그 이름이 들어갑니다. 대부분 태그는 시작 태그와 종료..