목록알고리즘 (547)
N
swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWuSgKpqmooDFASy&categoryId=AWuSgKpqmooDFASy&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 핵심은 0번째와 N + 1은 무조건 1이라는 것이다. 그래서 시작 인덱스를 -1로 하였고, i < N - 1이면 while문을 돌도록 설정하였다. 우선 i번째 부터 D 거리 이내에 1이 있는지 확인을 해야한다. 만약 해당 인덱스 위치에 1이 있다면 i += j를 해주고, check = true로 바꿔주어 카운팅을 하지 않도록 한다...
swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWttUKkq5hQDFASy&categoryId=AWttUKkq5hQDFASy&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문자열의 앞뒤를 비교해야한다. for문을 이용해 s.size()만큼 반복한다. 우선 인덱스가 0이거나 s.size() - 1인 경우 문자가 2개만 비교하기 때문에 if를 이용해 따로 처리하도록 한다. 두 개의 문자가 같은지 비교하여 같지 않은 경우는 ans에 2를 곱하도록 한다. 위의 경우가 아닌 경우는 세 개의 문자를 비교하면 된..
swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWrDLM0aRA8DFARG&categoryId=AWrDLM0aRA8DFARG&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 두 시간의 차를 구해서 답을 구하면 된다. 두 시간의 차가 0보다 작으면 24시간을 더해서 다음 날의 시간을 구하면 된다. 문자열로 처리하려고 했지만 귀찮아서 if문으로 처리했다... #include #include using namespace std; int main(void) { int t; cin >> t; for(int tc..
swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWq40NEKLyADFARG&categoryId=AWq40NEKLyADFARG&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문자열로 입력을 받아 int형으로 변환 후 중복 된 값이 있는지 검사하면 된다. 중복이 안된 경우 ans++을 해주고, 해당 숫자를 true로 바꿔주면 끝! #include #include using namespace std; int main(void) { ios::sync_with_stdio(0); cin.tie(0); cout...
swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWooplJ60l8DFARx&categoryId=AWooplJ60l8DFARx&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com #include #include using namespace std; int main(void) { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t; cin >> t; for(int tc = 1; tc > S >> E >> M; s = S; while(1) { if((s - E) ..
swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWoEzJFa2A4DFARq&categoryId=AWoEzJFa2A4DFARq&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com while문과 for문을 이용해 연속적인 값의 합이 N과 같으면 ans++. N의 최댓값이 크지 않기 때문에 쉽게 풀 수 있는 문제다. 대신 break를 해주어 시간을 줄이도록..! #include using namespace std; int main(void) { ios::sync_with_stdio(0); cin.tie(0); ..
swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWl0ZQ8qn7UDFAXz&categoryId=AWl0ZQ8qn7UDFAXz&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 전역변수로 알파벳 개수인 26 길이의 배열을 선언하여 구멍의 개수를 저장한다. 두 문자열을 입력받고 서로를 비교. 만약 두 문자열의 길이가 같지 않다면 바로 "DIFF"를 출력하여 끝내도록 한다. 아니라면 두 문자열을 하나씩 비교하면 된다. 둘 중 하나의 사이즈만큼 for문을 돌면서, 구멍의 개수가 1개면 tmpA, tmpB에 "1..
swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWksRkI6AR0DFAVE&categoryId=AWksRkI6AR0DFAVE&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 각 자리에 있는 수에 (N - 1)을 나머지 연산을 하여 나머지 값을 모두 더하도록 한다. 그 후 마지막에 (N - 1)을 나머지 연산의 결과를 출력하면 된다. #include using namespace std; int main(void) { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);..