'분류 전체보기'에 해당하는 글 45건

 

* 이진트리에서 루트노드인지 이너노드인지 잎새노드인지 구분하는 문제

루트노드 : 부모노드가 없는 경우, P가 NULL인 경우

이너노드 : 부모노드에 있는 수, P컬럼에 있는 수

잎새노드 : 그 외

 

SELECT N,
CASE WHEN P IS NULL THEN 'Root' 
    WHEN N IN (SELECT DISTINCT P FROM BST) THEN 'Inner'
    ELSE 'Leaf'
END
FROM BST
ORDER BY N

 

 

'알고리즘 > SQL' 카테고리의 다른 글

HackerRank - Weather Observation Station 4  (0) 2022.03.16

WRITTEN BY
beautifulhill

,

 

* 전체 CITY의 수(중복) 에서 고유 CITY 수를 빼는 문제 

 

SELECT COUNT(CITY) - COUNT(DISTINCT(CITY))
FROM STATION;

'알고리즘 > SQL' 카테고리의 다른 글

HackerRank - Binary Tree Nodes  (0) 2022.03.18

WRITTEN BY
beautifulhill

,

라라벨 기본 화면이 아닌 No input file specified. 가 나올때

 

Homestead.yaml 설정 파일에서 folders, sites 확인

 

1. folders map 경로에 프로젝트 생성 확인 (로컬에서)

 

2. folders to 경로에 프로젝트 생성 확인

* vagrant ssh로 홈스테드 환경에 접속한 후

cd ~/code 명령어 입력 후 새로운 프로젝트 생성했어야 함

 

3. sites to 경로 == folders to 경로 + /프로젝트 네임 + /public인지 검토

 

 

* 만약 Homestead.yalm은 문제가 없다면 변경된 파일이 적용되지 않았을 수도 있으니 vagrant 재부팅 (vagrant reload --provision)
* yalm 파일 변경 후엔 vagrant 재부팅
 
내 경우는 3번의 문제였는데 프로젝트 이름을 빼고 경로를 설정하여 생긴 오류였다.

WRITTEN BY
beautifulhill

,

1. 설치할 것 : 

1) VirtualBox 6.x, or VMWare

2) Vagrant

 

Downloads | Vagrant by HashiCorp

Vagrant enables users to create and configure lightweight, reproducible, and portable development environments.

www.vagrantup.com

3) git bash

 

2. 홈스테드 Vagrant Box 설치하기

1) 커맨드 창에 아래의 명령어 입력

vagrant box add laravel/homestead

2) provider 선택지 : virtualbox 선택

vagrant box 설치

3) success 시 완료

 

3. 홈스테드 설치하기

1) Git bash로 home 디렉토리안에 Homestead 폴더로 저장소를 복제하기

git clone https://github.com/laravel/homestead.git ~/Homestead

 

2) master 브랜치는 개발중이라 안정적이지 않을 수도 있기 때문에, 태그를 지정한 버전을 체크아웃 

cd ~/Homestead

git checkout release

 

4. Homestead 설정하기 (Homestead.yalm)

 

1) C:\Users\사용자\Homestead\resources 에서 Homestead.yalm 수정

2) C:\Users\사용자\Homestead 에서 init.bat 실행하면 Homestead 폴더에도 Homestead.yalm 생성

 

3) Homestead.yalm 

 

folders : map은 로컬에서 프로젝트 코드의 위치, to는 가상머신 vagrant의 경로

folders:
    - map: C:/Users/사용자/project/code
      to: /home/vagrant/code

sitest : map은 가상도메인

sites:
    - map: homestead.test
      to: /home/vagrant/code/생성할 프로젝트폴더명(project1)/public

 

Homestead.yalm

 

5. ssh 키 생성

ssh-keygen -t ras -C "메일주소"

Enter passpahrase : 개인키 암호

6. host 설정

1) 메모장을 관리자 권한으로 실행한 다음 C:\Windows\System32\drivers\etc\hosts 파일 열기

2) homestead.yalm 파일에서의 ip 와 sites의 map 부분과 같아야 함

192.168.56.56           homestead.test

 

7. Vagrant Box 구동 & ssh를 통해 홈스테드 환경에 접속

vagrant up : vagrant box 구동

vagrant reload --provision : 설정 변경 후 다시 가동

vagrant ssh : ssh를 통해 홈스테드 환경에 접속

vagrant up

vagrant reload --provision (설정 변경 후 vagrant 다시 실행시)

vagrant ssh

 

8. 프로젝트 생성

 

cd ~/code
laravel new proejct1

9. homestead.test


WRITTEN BY
beautifulhill

,

문제 

 

n크기의 배열에서, a ~ b까지의 인덱스에 k 만큼 더한 후 가장 큰 값을 리턴하는 문제

 

ex)

입력 : int n = 10, int [] queries

int[] queries

 

1 2 3 4 5 6 7 8 9 10
3 3 3 3 3          
      7 7 7 7 7    
          1 1 1 1  

합계가 가장 큰 값은 인덱스 4,5에 해당하는 10이 됨

arr[1] = 3

arr[2] = 3

arr[3] = 3

arr[4] = 3 + 7=10

arr[5] = 3 + 7=10

arr[6] = 7 + 1 = 8

arr[7] = 7 + 1 = 8

arr[8] = 7 + 1 = 8

arr[9] = 1

arr[10] = 0

 

풀이방법

 

a인덱스에 k값을 넣고 b+1 인덱스에 -k값을 넣음

n크기인 배열의 누적합 중 가장 큰 값을 리턴

최댓값만 구하는 것이기 때문에 값이 언제 들어가는지만 유의하면 된다.

예를들어 1 ~ 4인덱스까지만 3을 추가한다면 1 ~ 5 인덱스의 각 합은 3, 3, 3, 3, 0이다.

누적합으로 구하게 되면 인덱스 1에서 +3 , 인덱스 2 ~ 4 는 +0으로 누적합 유지,

인덱스 5에서는 -3을 하여 누적합을 0으로 만들 수 있다.

 

 

1 2 3 4 5 6 7 8 9 10
3         -3        
      7         -7  
          1       -1

인덱스 누적합

arr[1] = 3

arr[2] = 3 + 0

arr[3] = 3 + 0

arr[4] = 3 + 7=10

arr[5] = 10 + 0

arr[6] = 10 - 3 + 1 = 8

arr[7] = 8 + 0

arr[8] = 8 + 0

arr[9] = 8 - 7

arr[10] = 1 - 1

 

 

 

'알고리즘 > C#' 카테고리의 다른 글

Hash Tables: Ransom Note c#  (0) 2020.04.15
New Year Chaos c#  (1) 2020.04.05
Arrays: Left Rotation C#  (0) 2020.03.27
Jumping on the Clouds C#  (0) 2020.03.21
Repeated String C#  (0) 2020.03.21

WRITTEN BY
beautifulhill

,

Two Strings c#

카테고리 없음 2020. 4. 15. 10:34

문제 : 단어 s1, s2 알파벳 중 겹치는게 있으면 YES, 없으면 NO

 

 

 


WRITTEN BY
beautifulhill

,

문제 : magazine 배열에 note 배열값들이 다 들어있는지 여부

 

해결법 :

1. magazine 배열의 값을 dictionary에 넣는다. key값으로,

magazine 배열의 중복된 문자값의 개수는 value로

 

 

2. note 배열의 값과 dictionary의 값을 비교한다. key값에 note배열의 값이 없거나,

dicitonary value값보다 더 많이 들어있을 때 No 출력

 

'알고리즘 > C#' 카테고리의 다른 글

Array Manipulation c#  (0) 2020.05.03
New Year Chaos c#  (1) 2020.04.05
Arrays: Left Rotation C#  (0) 2020.03.27
Jumping on the Clouds C#  (0) 2020.03.21
Repeated String C#  (0) 2020.03.21

WRITTEN BY
beautifulhill

,

문제 

오름차순 정렬

 

해결

앞에서부터 위치가 잘못된 것을 찾아 swap한다.

 

문제점

타임아웃에러

 

 

해결방안

while문


WRITTEN BY
beautifulhill

,