본문 바로가기

개발로그74

탐색 탐색 - 주어진 데이터에서 자신이 원하는 데이터를 찾아내는 알고리즘 깊이우선탐색(DFS) 시작 노드에서 출발하여 탐색할 한 쪽 분기를 정하여 최대 깊이까지 탐색을 마친 후 다른 쪽 분기로 이동하여 다시 탐색을 수행 한 번 방문한 노드를 다시 방문하면 안 되므로 방문 여부를 체크해야 함 기능 특징 시간 복잡도 그래프 완전 탐색 재귀 함수로 구현(스택 오버플로 유의) 스택 이용 O(노드 수+에지 수) 너비우선탐색(BFS) 시작 노드에서 출발해 시작 노드를 기준으로 가까운 노드를 먼저 방문하면서 탐색 선입선출 방식으로 탐색해 큐를 이용해 구현 목표 노드에 도착하는 경로가 여러 개일 때 최단 경로를 보장 기능 특징 시간 복잡도 그래프 완전 탐색 FIFO 탐색 큐 이용 O(노드 수 + 에지 수) 2023. 8. 9.
프로그래머스 Lv.1 이상한 문자 만들기 프로그래머스 Lv.1 이상한 문자 만들기 문제 설명 문자열 s는 한 개 이상의 단어로 구성되어 있다. 각 단어는 하나 이상의 공백문자로 구분되어 있다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 return하라. 1. 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야 한다. 2. 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 한다. s result "try hello world" "TrY HeLlO WoRlD" ** 풀이 방법 s를 문자 하나하나로 나눠 s1이라는 배열에 저장한다. String[] s1 = s.split(""); for문을 돌려 s1배열에 접근해서 원소가 공백이면 cnt를 0으로 아니면 cn.. 2023. 8. 8.
프로그래머스 Lv.1 명예의 전당 (1) 프로그래머스 Lv.1 명예의 전당 (1) 문제 설명 "명예의 전당"이라는 TV 프로그램에서 매일 1명의 가수가 노래를 부르고, 시청자들의 문자 투표수로 점수를 부여한다. 매일 출연한 가수의 점수가 지금까지 출연 가수들의 점수 중 상위 k번째 이내이면 해당 가수의 점수를 명예의 전당이라는 목록에 올려 기념한다. 즉, 프로그램 시작 이후 초기에 k일까지는 모든 출연 가수의 점수가 명예의 전당에 오르게 된다. k일 다음부터는 출연 가수의 점수가 기존의 명예의 전당 목록의 k번째 순위의 가수 점수보다 더 높으면, 출연 가수의 점수가 명예의 전당에 오르게 되고 기존의 k번째 순위의 점수는 명예의 전당에서 내려오게 된다. 명예의 전당 목록의 점수의 개수 k, 1일부터 마지막 날까지 출연한 가수들의 점수인 score.. 2023. 8. 8.
새로 알게 된 것들(1) 새로 알게 된 것들(1) Emmet Emmet은 HTML과 CSS 작성을 빠르게 도와주는 단축키 모음이다. VS Code에 내장되어 있는 플러그인이다. HTML과 CSS문법을 알고 있다면 높은 학습 곡선을 필요로 하지 않는다. (예제) .wrapper>h1{ Title }+.content wrapper라는 클래스이름(.클래스이름)을 가진 div태그 생성(태그이름이 없으면 div태그) div태그 하위에(>) "Title"이라는 문자열의 h1태그 생성 같은 자식 위치(+)에 content라는 클래스 이름을 가진 div태그 생성 Title nav>ul.nav>li.nav-item*3>a nav태그 하위에 nav라는 클래스 이름을 가진 ul태그 생성 nav-item이라는 클래스 이름을 가진 li태그 3개 생성(.. 2023. 8. 5.
반응형