분류 전체보기 900

백준 5217번 쌍의 합 C언어

리뷰C언어가 얼른 익숙해 지면 좋겠다.. 파이썬으로 제출해버렸다 문제 풀이각 루프마다 숫자를 가져온 후 기본 폼을 실행시켜 준다.숫자가 3이상일 경우 1과 NUM - 1을 출력해 주고이후 2부터 첫번째 수가 더 작을 때까지 출력해 준다.  참고 사항FOR문을 마치고 줄바꿈을 1회 해주었다.  정답 코드void q5217();#include int main(void) { q5217(); return 0;}void q5217() { // 백준 5217번 쌍의 합 C언어 int n; scanf("%d", &n); while (n--) { int num; scanf("%d", &num); printf("Pairs for %d:", num); ..

백준 4892번 숫자 맞추기 게임 C언어

리뷰짝수와 홀수를 혼동하여 틀렸다. 문제 풀이n, index를 초기화 해주고 문자열을 저장할 s변수도 포인터로 초기화 해준다.while루프를 실행하고 index를 1올려준다, n값을 받아오고 각 로직을 진행한다.n으로 0이 입력되었으면 루프를 종료한다, n1값이 짝수면 s에 even을, 홀수면 odd를 초기화 해준다.현재 루프의 인덱스와 홀수 짝수 여부, n4 값을 출력해 준다.  참고 사항홀수 짝수 여부는 n1을 기준으로 정해주어야 한다.  정답 코드void q4892();#include int main() { q4892(); return 0;}void q4892() { // 백준 4892번 숫자 맞추기 게임 C언어 int n, index = 0; char *s; while (1) { index +=..

백준 4562번 No Brainer C언어

리뷰C언어 첫 백준 제출 처참 그자체 문제 풀이비교할 값 N을 받아온 후 N의 개수만큼 FOR문을 열어준다.정수 X, Y를 비교해서 X가 더 작을 경우 NO BRAINS 출력, X가 Y보다 크거나 같을 경우 MMM BRAINS 출력  참고 사항PRINTF시 줄바꿈을 해줘야 한다는 것을 깨달았다..  정답 코드void q4562();#include int main() { q4562(); return 0;}void q4562() { // 백준 4562번 No Brainer C언어 int n; scanf("%d", &n); for (int i = 0; i

SWEA 1220번 D3 [S/W 문제해결 기본] 5일차 - Magnetic 파이썬

리뷰스택을 사용하여 풀이하였다.문제 풀이테스트 케이스는 10개로 고정이다.배열의 크기도 100 * 100이나 어쨌든 값을 가져와야 하기에 N으로 받아오고 N * N 크기의 배열을 초기화 해줬다.칼럼을 기준으로 FOR문을 개행하고 스택을 빈 리스트로 초기화 해준다.현재 값이 2일경우, 스택의 마지막 숫자가 1이면 스택에 추가해준다.현재 값이 1일경우, 스택의 마지막 숫자가 2이면 스택에 추가해준다.스택을 참조하여 이전 값이 1뒤에 2가 있을 경우 개수를 1개 추가해준다. (2의 개수를 구해주면 더 좋을 것 같다.) 참고 사항IF문을 사용할때 값이 2일 경우와 ELSE를 사용했는데 그럼 0값도 노출되게 된다. IF문으로 2, 1을 정확히 체크해 줘야 한다. (그래서 첫 제출에 틀렸습니다가 노출되었다 ㅠㅠ) ..

백준 13335번 트럭 파이썬

리뷰덱을 사용하여 풀어주었다. 문제 풀이덱을 임포트 해주고 각 인자를 받아준다.트럭의 무게 리스트를 덱으로 변환해주고 현재 다리 상황을 나타낼 덱도 초기화 해준다.시간을 참조할 변수도 0으로 초기화 해준다.루프가 실행될때 time을 1올려주고 다리 위에 차가 있다면 머무를 시간을 1씩 감소시킨다.만약 다리위의 첫번째 차의 시간이 0이 되었을 경우 덱에서 없애준다.현재 다리 위 차들의 전체 무게를 계산하고 새로운 트럭이 들어와도 된다면 트럭을 다리에 넣어준다.트럭이 모두 다리를 지나갔을 경우 루프를 종료시킨 후 time을 출력해 준다. 참고 사항인덱스 에러가 나지 않도록 적절히 조건을 적용해 주자 정답 코드def q13335(): # 백준 13335번 트럭 파이썬 from collections ..

백준 10799번 쇠막대기 파이썬

리뷰스택을 활용한 문제이다. 문제 풀이문자열을 받아주고 스택을 담을 빈 리스트, 정답을 출력한 result 변수를 0으로 초기화 해준다.각 문자열을 참조하여 현재 문자열이 (일 경우 스택에 추가한다.현재 문자열이 )인 경우 이전 문자열이 (인지 )인지에 따라 다르게 적용해준다.이전 문자열이 (일 경우 스택에서 마지막 인자를 뽑고 스택의 길이만큼 result에 더해준다.이전 문자열이 )일 경우 스택에서 마지막 인자를 뽑고 1만큼 result에 더해준다.result를 출력해 준다. 참고 사항) 이전 문자열이 (인 경우는 레이저를 발사하는 경우다. 즉, (를 하나 뽑고 스택의 길이만큼 더해주면 된다.) 이전 문자열이 )인 경우는 막대기의 끝인 경우다. 즉, (를 하나 뽑고 1만큼 더해주면 된다. 정답 코드de..

백준 1550번 16진수 파이썬

리뷰딕셔너리를 활용해 풀었다. 문제 풀이입력받을 16진수를 문자열로 받아와 주고 16진수에 해당하는 키와 값을 딕셔너리로 저장해 준다.결과값을 나타낼 변수 result와 각 자릿수에 곱해줄 변수 p를 각각 0, 1로 초기화 해준다.문자열을 뒤집은 후 각 값에 해당하는 value값과 p를 곱해준 후 result에 더해준다.result를 출력해 준다.  참고 사항for문을 돌때마다 p에 16을 곱해줘야 각 자릿수에 해당하는 값을 올바르게 구할 수 있다.  정답 코드def q1550(): # 백준 1550번 16진수 파이썬 s = input() dic = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, ..

백준 17413번 단어 뒤집기 2 파이썬

리뷰띄어쓰기에 대한 내용을 제대로 읽지 않아 두번 실패했다 ㅠㅠ 문제 풀이문자열을 받아오고 슬라이싱 기준이 될 인덱스와 빈 리스트, 태그 여부를 나타낼 변수를 초기화 해준다.문자열을 받아와 태그가 시작되면 이전까지의 문자를 리스트에 보내주고 인덱스 최신화, 태그를 True처리 해준다.태그가 종료되면 태그 내의 내용을 리스트에 전달하고 인덱스 최신화, 태그를 False처리 해준다.띄어쓰기를 만나면 띄어쓰기 + 현재까지의 문자열을 리스트에 전달해주고 인덱스를 최신화 해준다.for문이 끝나면 마지막으로 남은 문자열을 리스트에 전달해 준다.result를 빈 문자열로 초기화 해주고 리스트 내 요소들을 뒤집어 result에 추가해 준다. 참고 사항태그가 시작되었을때 띄어쓰기가 확인되어도 리스트에 전달해 주면 안된다..

백준 2167번 2차원 배열의 합 파이썬

리뷰for문과 2차원 배열로 문제를 풀이했다. 통과는 했으나 시간이 많이 걸려서 최적화가 필요해 보인다. 문제 풀이2차원 배열을 받아온다.k와 합을 구할 범위를 각각 가져온 후 행과 열을 돌며 슬라이싱을 통해 합계를 result에 저장해 준다.각 케이스 마다 result값을 출력해 준다.  참고 사항각 i, j값은 -1씩 해줘야 한다.  정답 코드def q2167(): # 백준 2167번 2차원 배열의 합 파이썬 n, m = map(int, input().split()) lst = [list(map(int, input().split())) for _ in range(n)] k = int(input()) for _ in range(k): i, j, x, y = map..

728x90