[이코테- 문풀 -그리디]

정대만·2023년 3월 28일
0

이코테

목록 보기
5/5
post-thumbnail

01 모험가 길드

[2,3,1,2,2]

[2 ] 넣을시 < 적어도 2 명이 있어야 된다.

sort 로 변환해서
[1,2,2,2,3] 으로 설정하고 -> 작은수 부터 넣는다고 생각

[1] 을 넣을시 조건을 만족하면 >count+=1
[2 넣고 만족하는 수 max 를 갱신> 그다음 배열의 길이와 맥스와
일치 했을때 cont+=1;
식으로 하면 된다.

02 곱하기 혹은 더하기

곱하기를 하는것이 더 이득인 상황 vs 더하기를 하는것이 더 이득인 상황

03 vs 0+1 / 13 vs 1+3
이 둘 상황만 제외하면 곱하기가 무조건 이득이다.

03 문자열 뒤집기

s=11001100110011000001 답 =4

11 00 11 00 11 00 11 00000 1

s= 11101101 답 = 2
111 0 11 0 1

일때
여기서 중요한 점은 연속된 하나 이상의 숫자를 잡고 모두 뒤집는것이다.

연속된 1 일때 와 연속된 0 일때 두 수를 비교해서 count 하는 식으로 하면된다.
ex >11001100110011000001
처음 시작을 기준으로 같은 수이면 continue 다른 수 일때
(만약 1 로 시작했다면 0 이 나올때 기준을 0 으로 바꿔주고
변수 var_1 +=1 카운트
기준이 0 이였는데 1 으로 바뀔때 var_2+=1
)
이런식으로 가면 for 문을 한번 사용하게 된다.

04 만들수 없는 금액

N개의 동전 으로 만들수 없는 양의 정수 금액중
최소값을 구하는 프로그램

n=5 각동전이 3 , 2 , 1 , 9
최솟값은 8 입니다.

1 2 3 9

n=3 각동전이 3 5 7
최솟값 1 입니다.

3 5 7

.. 이문제는 진짜 모르겠다...
인강을 보고 이해하는 식으로..

05 볼링공 고르기

볼링볼 n 개
m 은 3 < 공의 번호가 3까지 있다는 의미
[ 1 3 2 3 2]
공의 번호가 >
[ 1 2 3 4 5] 이런식이다.

이거 그냥 > 5C2 - 같은수

1 :1
2: 2
3: 2

10 - 안되는 수 빼면 된다.

[1 5 4 3 2 4 5 2]
에도
1:1
2:2
3:1
4:2
5:2

8C2 - 안되는 경우 (2 4 5 )
8!
6! 2!

8* 7 / 2
28 - 3

06 무지의 먹방 라이브

time_table 을 갱신하는 문제
[3,1,2] > [2,1,2] 로 갱신하면서
Array [1,0 0] 으로 갱신

[2,1,2] > [2,0,2] 로 갱신하면서
( 0이 아님/ 즉 다 먹 음식이 아닐때만 시간 갱신)
[1,2,0] 이런식

profile
안녕하세요

0개의 댓글