목록분류 전체보기 (108)
-
https://www.acmicpc.net/problem/5557 5557번: 1학년 문제 상근이가 1학년 때, 덧셈, 뺄셈을 매우 좋아했다. 상근이는 숫자가 줄 지어있는 것을 보기만 하면, 마지막 두 숫자 사이에 '='을 넣고, 나머지 숫자 사이에는 '+' 또는 '-'를 넣어 등식을 만들며 놀고 있다. 예를 들어, "8 3 2 4 8 7 2 4 0 8 8"에서 등식 "8+3-2-4+8-7-2-4-0+8=8"을 만들 수 있다. 상근이는 올바른 등식을 만들려고 한다. 상근이는 아직 학교에서 음수를 배우지 않았고, 20을 넘는 수는 모른다. www.acmicpc.net 전형적인 DP 문제였습니다. 배열의 성격을 잘 결정하고, 초기값을 잘 결정해준 뒤 점화식을 세워 코딩하면 되는 문제입니다. dp[i][j]를..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/N103D/btqBzjo2YWE/4bQfqclH1IU41DhTl0uQG1/img.png)
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWIeW7FakkUDFAVH SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 삼성 SWEA 모의 SW역량 테스트 문제다. 이 문제는 삼성 SW역량 테스트 기출문제 https://cpp-dev.tistory.com/53 와 동일한 문제다. 이번에는 C언어로 짜보았다. 주어진 테스트 케이스에 대한 정답은 #1 7 #2 4 #3 11 #4 11 #5 15 #6 4 #7 4 #8 1 #9 5 #10 8 였다. 그래서 코드 작성하고 테스트 케이스에 대해 돌려 결과를 확인했더니 아래와..
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRDL1aeugDFAUo SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com SWEA 시뮬레이션 문제다. 두 유저가 돌아다니는 경로가 주어졌을 때 시뮬레이션 결과 얻을 수 있는 최대 충전량을 구하는 문제다. 단순 시뮬레이션으로 브루트포스로 구현해도 Pass가 된다. 아래는 C언어 기반 정답코드. 다음주 목요일 (2020.1.30) 현대모비스 SW테스트에서 3문제중 1문제는 꼭 C로 풀어야한다고 해서 C 연습할겸 C로 짜봤다. 확실히 C++ STL이 편한걸 느꼈다. 1 2 3..
1. scanf 함수는 #pragma warning(disable:4996)으로 활성화시키자. 2. 입력버퍼를 고려해 정수 입력 후 남아있는 개행 문자를 제거해 추후 입력에 방해받지 말자. 3. 문자열 입출력은 puts, gets를 활용하자. 4. 입력버퍼는 fflush(stdin); 을 하거나, 정수를 입력받는 경우 scanf("%d%*c", &int_var);와 같이 하자. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 #include #pragma warning(disable:4996) int main(){ int b; scan..
#include #include #pragma warning(disable:4996) int main(){ int a; int b; scanf("%d %d", &a, &b); printf("%d %d\n", a, b); char str1[] = "abcde"; char * str2 = "abctt"; printf("%s %s\n", str1, str2); printf("%d\n", sizeof(str1)); if (!strcmp(str1, str2)){ printf("두 문자열은 같습니다.\n"); } else if (!strncmp(str1, str2, 3)){ printf("두 문자열은 앞 세 자리까지 같습니다.\n"); } printf("%c", str1[4]); // e printf("%c", s..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/p9504/btqBtNk0Tfl/IOwWnhZx5wgREKT9aP9V41/img.png)
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRFInKex8DFAUo# SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 이 사이트 기준 정답률 16%의 문제다. 내가 낸건 2차원/3차원 배열 이런거 사용 안하고 1차원 벡터만 사용해서 푼 답안이다. 근데 Pass는 아니고 0/50 테케통과라는데 문제의 테케와 댓글의 테케들은 모두 맞는다. 단순히 정답을 못맞춰서 0/50이 아니고 시간 초과라는데 이해가 안간다. N=10짜리 10개 돌려봤는데 10ms걸리는 것으로 봐서는 한개에 보통 1ms정도 걸리는건데 왜 안될까. ..
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRF8s6ezEDFAUo SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com [최종수정] 이틀이 걸린 문제다. 이 문제를 풀면서 짜증도 많이 나고 이해가 안되는 문제들을 많이 접했지만 반대로 많이 성장한 계기가 되었다. [성장] 1. 이 문제는 지역변수를 담는 스택의 메모리 초과 문제를 생각할 수 있게 해주었고, 2. 생각지 못한 2차원 벡터의 인덱싱 문제를 알게 해주었다. [성장] 1번의 경우 최대한 지역변수를 적게 쓰는 방법으로 코딩하는 것이 더욱 메모리측면에서 중요하다..