일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 카카오 API
- 밑바닥부터 시작하는 딥러닝 1
- idpiframe_initialization_failed
- 리버싱
- shake!
- Div. 2
- vue-google-login
- 레지스터
- 카카오 로그인
- 1557
- 앳코더
- iupc
- Graph Cost
- vue3
- 인하대 프로그래밍 경진대회
- 기본키 변경
- Hello 2023
- Round 866
- Flutter
- E - Hanging Hearts
- 코드포스
- 2022
- django
- 넥토리얼
- expand item
- 알고리즘 대회
- Codeforces Round 831 (Div. 1 + Div. 2)
- Good Bye 2022: 2023 is NEAR
- list_display
- dart
- Today
- Total
목록알고리즘/알고리즘 문제풀이 (30)
pseong
F - One Fourth AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online. atcoder.jp 신발끈 공식을 사용하면 한 포인터가 움직일 때마다 계산이 가능하기 때문에 투 포인터로 둘 다 왼쪽부터 탐색하면 될꺼라고 생각했지만 구현에서 조금 문제가 있어서 틀리게 됐다. 중요 포인트는 2가지를 기억하면 된다. 1. 신발끈 공식을 사용하면 맨 마지막 곱셈은 다음 첫번째와의 곱로 넘어가게 되는데 무식하게 그대로 구현했다. 첫번째 점을 원점으로 맞춰주면 더해줄때 마지막 곱셈은 안해도 된다. 이렇게 되면 포인터가 움직일 때마다 크로스곱 한번만 하면 돼..
1602A - Two Subsequences 문자열 중에서 아스키코드상 가장 빠른 캐릭터와 나머지 문자열로 나누면 된다. 더보기 #include using namespace std; using ll=long long; using pii=pair; using pll=pair; #define F first #define S second int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int T; cin >> T; while(T--) { string s; cin >> s; char min_char='z'; int min_idx=0; for(int i=0; is[i]) { min_char = s[i]; min_idx = i; } } cout an[..
1582A - Luntik and Concerts a, b, c가 전부 1개 이상 존재하므로 최대 차이는 1이다. 따라서 차이는 0 또는 1이 될 수 있다. a + b*2 + c*3 이 짝수면 차이는 0이고 홀수면 차이는 1이다. 더보기 #include using namespace std; using ll=long long; using pii=pair; using pll=pair; #define F first #define S second int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int T; cin >> T; while(T--) { int a, b, c; cin >> a >> b >> c; int s=a+b*2+c*3; if(s&1)..

1559A - Mocha and Math 어떤 두 수 A, B를 AND 연산을 한다면 항상 그 결괏값은 MIN(A, B) 보다 같거나 작다. 왜냐하면 AND연산은 0은 무조건 0이 되는 마스크 역할을 하고 1은 0 또는 1이 될 수 있기 때문이다. 따라서 다른 숫자와 ADN 연산을 많이 하면 할수록 수는 적거나 같아질 수밖에 없다. 주어진 조건에서 모든 원소를 모든 원소와 AND연산을 할 수 있다. 따라서 정답은 모든 원소를 AND 연산한 값이 된다. 더보기 #include using namespace std; using ll=long long; using pii=pair; using pll=pair; #define F first #define S second int main() { ios::sync_w..
1562A - The Miracle and the Sleeper 30을 예로 들자면 나누는 숫자가 30부터 16으로 작아질수록 나머지는 1 씩 증가한다. 15가 되면 나머지는 다시 0이 되고 나머지는 다시 증가하다가 10이 되면 다시 0이 된다. 이렇게 나머지는 숫자가 점점 커지다가 작아지다를 반복하는데, 잘 보면 나머지의 최대는 대략 30을 2로 나눈 숫자다. 이를 토대로 나눠지는 값은 최대한 크게 잡고 나눠지는 값은 그의 절반값이 될 수 있으면 나머지는 최대가 된다. 하지만, 나누는 값이 나눠지는 값의 절반이 될 수 없으면 나머지는 나눠지는 값 빼기 나누는 값이 된다. 더보기 #include using namespace std; using ll=long long; using pii=pair; usin..
1567A - Domino Disaster 문자열을 입력받고. U는 D로 바꿔서 출력하면 된다. 더보기 #include using namespace std; using ll=long long; using pii=pair; using pll=pair; #define F first #define S second int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int T; cin >> T; while(T--) { int n; cin >> n; string s; cin >> s; vector ans; for(int i=0; i> a+2 더보기 #include using namespace std; using ll=long long; using pii..