Recent Posts
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 오블완
- taint
- 겨울 부산
- mp4fpsmod
- JanusWebRTCGateway
- 코루틴 빌더
- JanusWebRTC
- 티스토리챌린지
- VARCHAR (1)
- tolerated
- Value too long for column
- JanusGateway
- kotlin
- 깡돼후
- vfr video
- k8s #kubernetes #쿠버네티스
- table not found
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
- 개성국밥
- 코루틴 컨텍스트
- 자원부족
- preemption #
- terminal
- JanusWebRTCServer
- Spring Batch
- 달인막창
- python
- pytest
- PersistenceContext
- PytestPluginManager
Archives
너와 나의 스토리
(BOJ) 1339 단어수학 본문
반응형
문제:https://www.acmicpc.net/problem/1339
문제 풀이1: 백트래킹 이용
void func(int cur,int pos, int cur_sum,int sum,int visit)
cur: 몇번째 단어를 보는 중인지 알려줌
pos: 현재 보는 단어에서의 위치
cur_sum: 현재 보는 단어에서 현재위치까지의 합
sum: 지금까지의 합
visit: 지금껏 사용한 숫자를 표시
모든 수를 대입해보고 가장 결과 값이 큰 값을 출력
소스 코드: https://gist.github.com/hovy1994/8b11fc944de34cd39b157b2c16144a87#file-1339
결과:
메모리: 1992KB
시간: 632ms
문제 풀이2:
각각의 위치에 따른 값을 부여
ex) ABC
C위치의 값은 1
B위치의 값은 10
A위치의 값은 100
v['C'-'A']+=1;
v['B'-'A']+=10;
v['A'-'A']+=100; 으로 단어마다 각각 구해서 더해줌
sort한 다음
가장 큰 값을 가지는 것부터 차례대로 9부터 값을 매김 (9,8,7,...)
ex)
arr['A'-'A']=9;
arr['B'-'A']=8;
arr['C'-'A']=7;
마지막으로 단어들에 arr값 대입하여 값 더한 후 결과 출력
소스 코드:https://gist.github.com/hovy1994/8b11fc944de34cd39b157b2c16144a87#file-1339
결과:
메모리: 1992KB
시간: 0ms
반응형
'Algorithm > 백트래킹 (Backtracking)' 카테고리의 다른 글
[BOJ] 1987 알파벳 (0) | 2020.05.08 |
---|---|
(BOJ) 3109 빵집 (0) | 2019.02.02 |
(BOJ) 1941 소문난 칠공주 (테스트케이스有) (0) | 2019.02.02 |
(BOJ) 2210 숫자판 점프 (0) | 2019.02.01 |
(BOJ) 2023 신기한 소수 (0) | 2019.02.01 |
Comments