본문 바로가기

전체 글

(29)
프로그래머스 전화번호 목록(c++) https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr -문제 접근 방법 1) 사전순 정렬 처음에는 이중 for 문을 돌려 선형 탐색을 하면서 비교하여 문제를 해결했다. 정확도 테스트는 모두 통과했으나 효율성 테스트에서 통과하지 못했다. 그래서 더 좋은 방법이 있을지 고민하다 사전순 정렬을 떠올렸다. string 타입의 선형 자료구조를 정렬할 시 사전 순으로 정렬된다. 즉 string 배열에 "119" "1180..
프로그래머스 완주하지 못한 선수 (c++코드) https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 해당 문제의 알고리즘 분류는 해쉬 문제였다. 하지만 알고리즘 분류에 초점을 맞추지 않고 내 스스로 어떠한 알고리즘과 자료구조를 사용할지 생각해봤다. 곰곰히 생각해본 결과 정렬을 사용해서 문제를 풀어도 된다는 생각을 떠올리게 됐다. 문제 접근 과정: 1.정렬을 떠 올린 이유: 해당 문제의 핵심 키는 "한 명의 선수만 완주하지 못했다."이다. 이..
백준 2407번 https://www.acmicpc.net/problem/2407 2407번: 조합 n과 m이 주어진다. (5 ≤ n ≤ 100, 5 ≤ m ≤ 100, m ≤ n) www.acmicpc.net 문제 접근 과정: 1)알고리즘 선택: 조합은 dp알고리즘 예제로 유명한 문제여서 고민 없이 알고리즘을 선택했다. 고등학교 수학에서 배운 nCk= n-1Ck + n-1Ck-1 식을 이용해 dp점화식을 dp[i][j]=dp[i-1][j]+dp[i-1][j-1]으로 정하였다. 2) dp배열의 자료형: dp배열에 저장될 수 있는 가장 큰 값 100C50으로 longlong의 범위를 넘개 된다. (처음에는 longlong이겠거니 하고 풀어서 틀렸다. 항상 자료형 결정에 대해 간관하지 말자!) 3) string으로 더하기:..
css-코드 재사용(link태그) 서로 다른 페이지에 같은 style을 적용하고 싶은 경우가 있다. 이와 같은 경우 해당 style태그 전체를 복사 붙혀 넣기 하면 간단하다. 하지만 극단적으로 1000가지의 페이지에 이를 적용해야 한다면 매우 비효율적이다. 이러한 비효율을 막아줄 방법이있다. 먼저 "이름.css" 파일을 만들고 style 태그로 감싸진 내용을 해당 파일에 붙혀 넣는다. (css 파일이기 떄문에 style 태그는 포함x) 그 후 html 문서에서는 style태그와 내용들을 지우고 그 자리에
css-그리드 (div,span) 문서를 만들 때 표나 태그와 태그 사이에 선을 그어 경계를 나타내야 하는 경우가 있다. 이때 사용되는 기술이 바로 그리드이다. 우선 그리드를 설명하기 이전에 div와span 태그를 소개하겠다. 1. div 태그 div태그는 어떠한 역할도 없는 오로지 스타일링만을 위해 사용되는 태그이고 display 값이 block이다. 사용법: 내용 2. span태그 span태그는 어떠한 역할도 없는 오로지 스타일링만을 위해 사용되는 태그이고 display 값이 inline이다. 사용법: 내용 *여기서 역할이 없다는건 h1태그 처럼 제목 역할 p태그 처럼 단락 역할과 같은 것이 없다는 것이다. 3. 그리드 어떻게? 그리드는 div나 span태그로 경계를 나누고자 하는 태그들을 자식 태그로 놓는다. 그 후 div나 spa..
css-selector 1. selector란? css로 스타일링을 해줄 대상을 지정하는 선택자를 의미한다. selector는 태그,class,id 3가지로 나뉜다. 또한 같은 속성에 대해 스타일링이 적용될 경우 스타일링 우선순위는 id>class>태그이다. 밑에 class selector 예제를 참조 2. 태그 selector 태그 selector는 태그의 이름을 사용한다. selector가 선정한 태그는 해당 태그로 쓰여진 문자 모두 동일한 스타일링을 적용 받는다. 3. Class selector Class selector는 같은 스타일링을 주고 싶은 단일 태그들을 묶는 선택자이다. Class selector의 경우 .클래스 이름{ } 으로 선언하고 클래스로 묶고 싶은 태그에
css-Box 모델 1. display란? 각 선택자(태그)가 갖는 영역을 뜻한다. 예를 들어 1줄 짜리 내용을 갖는 h1태그의 경우 1줄을 통째로 자신의 영역으로 사용한다.(즉 줄 바꿈이 적용된다.) 하지만 a(링크태그)태그의 경우에는 링크를 나타내는 글자만 자신의 영역으로 사용한다. display 속성이 갖는 value는 여러 가지가 있지만 4가지만 설명하겠다. -none: 영역이 없다. -block: 한줄을 본인의 영역으로 갖는다. (ex h1태그) -inline: 내용만을 본인의 영역으로 갖는다. (ex a태그) -inline-block: inline처럼 줄바꿈은 없으나 width,height속성 margin,padding 속성의 상하 간격 지정이 가능하다. 나머지 property는 링크 참조 https://www...
css- style html에서 style 키워드는 태그,속성 2가지 용도로 쓰인다. 1.태그 style태그는 html의 head 태그에서 사용되고 html 문서의 특정 태그 전체에 css의 기능을 넣어주고 싶을 때 사용한다. 예를 들어 태그로 나타내진 글자들을 파란색으로 표현 하고싶은 경우에 사용된다. 사용법: style태그 안에 을 작성해준다. *선택자(selector)의 종류는 다음 포스팅 참조. (style태그 안에 여러개의 selector 선언이 가능하며 selector 안에 여러개의 속성:value;가 가능하다. ) 코드 결과 2.속성 Body태그 안에 존재하는 태그에서 원하는 태그에 style 속성을 이용해 css기능을 넣어준다. 사용법: *태그 내용 (속성..