Algorithm & Data Structure

https://www.acmicpc.net/problem/6679

 

6679번: 싱기한 네자리 숫자

문제 싱기한 네자리 숫자란, [1000,9999]인 10진수 숫자중에서,  다음의 조건을 만족하는 숫자를 말한다. 숫자를 10진수, 12진수, 16진수로 나타낸 다음, 각각의 숫자에 대해, 각 숫자의 자리수를 더�

www.acmicpc.net

간단한 브루트포스 문제였습니다.

각 진수로 변환하여 자리수 덧셈을 하는 함수를 만들어 사용했고,

값이 동일할때만 출력하면 되는 문제였습니다.

 

'Algorithm & Data Structure > BOJ' 카테고리의 다른 글

[백준] 11599. Puyo Puyo  (0) 2020.07.04
[백준] 2503. 숫자 야구  (0) 2020.07.01
[백준] 1547. 공  (0) 2020.06.23
[백준] 1963. 소수경로  (0) 2020.06.22
[백준] 5567. 결혼식  (0) 2020.05.02

[백준] 1547. 공

2020. 6. 23. 23:29

https://www.acmicpc.net/problem/1547

 

1547번: 공

첫째 줄에 컵의 위치를 바꾼 횟수 M이 주어지며, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 컵의 위치를 바꾼 방법 X와 Y가 주어지며, X번 컵과 Y번 컵의 위치를 서로 바꾸는 �

www.acmicpc.net

간단한 시뮬레이션 문제였습니다.

공은 움직이지 않고, 컵만 들어서 옮기는 것이기 때문에

컵의 현재상태(공의 소유 유/무)를 SWAP 해주면 됩니다.

 

'Algorithm & Data Structure > BOJ' 카테고리의 다른 글

[백준] 2503. 숫자 야구  (0) 2020.07.01
[백준] 6679. 싱기한 네자리 숫자  (0) 2020.06.25
[백준] 1963. 소수경로  (0) 2020.06.22
[백준] 5567. 결혼식  (0) 2020.05.02
[백준] 11404. 플로이드  (0) 2020.05.01

[백준] 1963. 소수경로

2020. 6. 22. 13:33

www.acmicpc.net/problem/1963

 

1963번: 소수 경로

문제 소수를 유난히도 좋아하는 창영이는 게임 아이디 비밀번호를 4자리 ‘소수’로 정해놓았다. 어느 날 창영이는 친한 친구와 대화를 나누었는데: “이제 슬슬 비번 바꿀 때도 됐잖아” “응

www.acmicpc.net

'Algorithm & Data Structure > BOJ' 카테고리의 다른 글

[백준] 6679. 싱기한 네자리 숫자  (0) 2020.06.25
[백준] 1547. 공  (0) 2020.06.23
[백준] 5567. 결혼식  (0) 2020.05.02
[백준] 11404. 플로이드  (0) 2020.05.01
[백준] 9501. 꿍의 우주여행  (0) 2020.04.23

https://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

스택을 사용한 시뮬레이션 문제 였습니다.

 

moves 배열로  board의 열을 결정하고,

board에 각 행을 위에서부터 검사하면서 0이 아닌 숫자가 있으면 stack의 peek값과 비교합니다.

같으면 바구니에서 2개의 인형이 사라지고, 다르면 스택에 추가해 줍니다.

 

https://programmers.co.kr/learn/courses/30/lessons/42883#qna

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

그리디 알고리즘 문제였습니다.

 

  • 필요한 자리수 = 주어진 수의 길이 - k
  • 필요한 자리수만큼 for문을 돌립니다.
  • 주어진 수에서 각 자리에 들어갈수 있는 자리수의 범위를 start, end 를 사용해 정해줍니다.
    • start 는 해당 자리에 올 수 있는 가장 크고 가장 왼쪽에 있는 수를 찾았을때마다 업데이트 해줍니다.
    • end는 주어진 수의 길이 - (필요한 자리수 길이 - 해당 자리수의 인덱스) 입니다.
    • ex) 만약 7자리 수, k=3 이라면 필요한 자리수는 4자리수 이고, 필요한 자리수의 첫번째 자리(0번째)에 올 수 있는 자리수의 범위는 0번째(=start) 부터 7 - (4 - 0) (=end) 까지 입니다.
  • 각 자리에 맞는 수를 찾았을때 answer에 String의  + 연산으로 추가해주는 방법은 시간초과가 발생합니다. 따라서  StringBuilder의 append 연산을 사용하고, 마지막에 toString() 해주면 시간초과에 걸리지 않습니다.

 

https://programmers.co.kr/learn/courses/30/lessons/1829

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

BFS 또는 DFS 로 영역의 넓이와 갯수를 구하는 문제였습니다.

기본적인 탐색 문제였던것 같습니다.

매 BFS마다 영역의 갯수를 증가시켜주고, 영역의 넓이를 최대값으로 업데이트 해주면 됩니다.

 

https://programmers.co.kr/learn/courses/30/lessons/42583

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

큐를 사용하는 문제였습니다.

 

  • 트럭 대기 큐와 다리를 건너는 중인 트럭 큐 두개 사용합니다.
  • 매 초 마다 다리를 건넌 트럭이 있는지 검사해 주고, 진행 큐의 경과시간을 업데이트 해줍니다.
  • 그리고 진행 큐의 무게 합(sum) 과 대기 큐의 peek의 무게를 더해서 다리가 버틸수 있는지 검사해줍니다.
  • 버틸 수 있으면 대기 큐의 peek값을 진행 큐에 넣어줍니다.

* 시간 경계를 관리하는게 까다로우므로 매초 경과시간에 따른 큐의 상황을 체크해주면서 구현합니다.

 

[백준] 5567. 결혼식

2020. 5. 2. 17:02

https://www.acmicpc.net/problem/5567

 

5567번: 결혼식

문제 상근이는 자신의 결혼식에 학교 동기 중 자신의 친구와 친구의 친구를 초대하기로 했다. 상근이의 동기는 모두 N명이고, 이 학생들의 학번은 모두 1부터 N까지이다. 상근이의 학번은 1이다. 상근이는 동기들의 친구 관계를 모두 조사한 리스트를 가지고 있다. 이 리스트를 바탕으로 결혼식에 초대할 사람의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이의 동기의 수 n (2 ≤ n ≤ 500)이 주어진다. 둘째 줄에는 리스트의 길이 m (1 ≤ m

www.acmicpc.net

그래프 문제였습니다.

BFS 알고리즘으로 해결했습니다.

 

친구와 친구의 친구까지만 초대하므로

카운트를 세어서 카운트가 2일때 까지만 초대하면 됩니다.

 

* 초대된 사람들을 visited배열에 true로 표시해두고

BFS가 끝나면 초대된 사람의 수를 확인해 줍니다.

 

'Algorithm & Data Structure > BOJ' 카테고리의 다른 글

[백준] 1547. 공  (0) 2020.06.23
[백준] 1963. 소수경로  (0) 2020.06.22
[백준] 11404. 플로이드  (0) 2020.05.01
[백준] 9501. 꿍의 우주여행  (0) 2020.04.23
[백준] 4179. 불!  (0) 2020.04.22

+ Recent posts