본문 바로가기

javascript

프로그래머스 - 단어 변환 문제풀이에 백트래킹을 적용하였고, 자바스크립트로 작성했습니다. 문제 두 개의 단어 begin, target과 단어 집합 words가 매개변수로 주어질 때, 최소 몇 단계를 거쳐 begin이 target으로 변환 될 수 있는지를 반환하라. 제한사항 한 번에 한 개의 알파벳만 바꿀 수 있다. words에 있는 단어로만 변환할 수 있다. 각 단어는 알파벳 소문자로만 이루어져 있다. 3 dot->dog->cog와 같이 4단계를 거쳐 변환 가능. 문제풀이 이 문제의 가장 작은 하위문제는 words 순회할 때 이전 문자열을 현재 문자열으로 수정할 수 있는가 없는가 이다. 수정이 가능할 경우 이전문자열을 현재 문자열로 수정한 경우와 수정하지 않은 경우 둘 다 탐색해야한다. 수정이 불가능한 경우 수정하지 않은 경우만 .. 더보기
프로그래머스 - 네트워크 문제 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 말한다. 예를들어 컴퓨터A가 컴퓨터B와 직접적으로 연결되어있고, 컴퓨터B가 컴퓨터C와 직접적으로 연결되어있다면, 컴퓨터A와 컴퓨터C는 간접적으로 연결되어 정보를 주고 받을 수 있다. 따라서 컴퓨터A,B,C는 모두 같은 네트워크 상에 있다고 말할 수 있다. 컴퓨터의 갯수 n과 연결에 대한 정보가 주어질 때, 네트워크의 갯수를 반환하라. 입력값 n(int): 컴퓨터의 갯수 computers(int[][]): 컴퓨터들이 연결되어있는지 아닌지를 표현한 2차원배열. 컴퓨터i와 컴퓨터j가 연결되어있다면 computers[i][j]는 1이고 연결되어있지 않으면 0이다. 제한사항 1 더보기
자바스크립트 시작하기 JavaScript30 Challenge는 실제 웹페이지의 인터랙션을 Day 당 한 페이지씩 구현해보도록 구성되어있습니다. 무작정 코드를 따라치기보다는 기초문법을 정리하고 시작하는 편이 효율적 일 것 같아, 공부할 겸 본 포스트를 작성합니다. 대부분 MDN web documentation에 있는 내용을 정리한 것 입니다. 더 자세한 내용을 확인하려면 링크를 따라들어가 docs를 직접 확인하는 것도 좋습니다. 1. JavaScript는 주로 클라이언트 사이드에서 웹 페이지의 동적 인터랙션을 제공하기 위해 사용되는 *동적 프로그래밍 언어입니다. *동적 프로그래밍 언어는 컴파일 타임에 수행되는 작업을 런타임에 수행 할 수있는 프로그래밍 언어이다. 예를 들어 JavaScript에서는 프로그램이 실행되는 동안 변.. 더보기