https://www.acmicpc.net/problem/9610 9610번: 사분면 2차원 좌표 상의 여러 점의 좌표 (x,y)가 주어졌을 때, 각 사분면과 축에 점이 몇 개 있는지 구하는 프로그램을 작성하시오. www.acmicpc.net 📌 풀이 1. 첫째 줄에 점의 개수 n개를 입력한다. 2. 다음 n개 줄에 점의 좌표가 주어진다. 3. 4분면에 맞게 점의 좌표를 계산하고 사분면과 축에 점이 몇 개 있는지 예시 출력처럼 출력한다. => int(input())으로 개수를 입력받고 사분면과 축을 키로, 0을 값으로 주는 딕셔너리 val를 생성한다. 이후 점의 개수만큼 for문 돌리고 x, y를 한 줄에 입력 받는다. 사분면에 맞게 조건문을 돌리면서 해당되는 분면의 키에 1씩 추가한다. 마지막에 키, ..
5717번: 상근이의 친구들 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 두 정수 M과 F로 이루어져 있으며, 각각은 상근이의 남자 친구의 수와 여자 친구의 수이다. (1 ≤ M, F ≤ 5) 입력의 마지막 www.acmicpc.net 📌 풀이 1. 입력은 여러 개의 테스트 케이스로 이루어져 있다. 2. 두 정수 M, F의 입력을 받으면 되고 출력 값은 M+F이다. 3. 입력의 마지막 줄에는 0이 두 개 주어진다. => while True 구문으로 돌려주고 두 변수 모두 0일 때 break를 건다. 그외의 경우에는 두 수가 더해지게끔 if문을 사용한다. ✅ 코드 while True : M, F = map(int, input().split()) if M == 0 and F == 0..
5086번: 배수와 약수 각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다. www.acmicpc.net 📌 풀이 1. 입력은 여러 테스트 케이스로 이뤄져 있다. 2. 첫 번째 수가 두 번째 수의 약수 > factor 첫 번째 수가 두 번째 수의 배수 > multiple 아무 것도 아니면 neither을 출력한다. 3. 입력의 마지막 줄에는 0이 2개 주어진다. => while True : 구문으로 입력을 여러 번 받고 조건문으로 원하는 값을 출력시킨 후 0 0 을 입력하면 끝나게 설정해라 a, b 변수 설정을 while 구문 밖에 했다가 난리가 났는데 ㅋㅋ 안에 해야 여러 번 입력을 받는다! 생각을 하고 ..
10988번: 팰린드롬인지 확인하기 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net 📌 풀이 풀 때는 머리를 싸맸는데 매우 쉬운... 방법들이 2개나 있었다. 일단 팰린드롬이라고 noon, kiik 처럼 가운데를 기준으로 데칼코마니처럼 똑같은 단어를 말한다. 푸는 방법이 3개나 돼서 코드별로 풀이를 적는다. ✅ 코드 (1번; 맨 처음 풀었다) word = input() for i in range(len(word)) : if word[i] == word[-1-i] : pass else : print(0) exit(0) print(1) word를 문자열로 받고, for문은 len(word)로 돌려준다. ..
10886번: 0 = not cute / 1 = cute 준희는 자기가 팀에서 귀여움을 담당하고 있다고 생각한다. 하지만 연수가 볼 때 그 의견은 뭔가 좀 잘못된 것 같았다. 그렇기에 설문조사를 하여 준희가 귀여운지 아닌지 알아보기로 했다. www.acmicpc.net 📌 풀이 첫 줄에 사람 수를 입력하고, 사람 수만큼 입력을 한다. 0은 귀엽지 않다, 1은 귀엽다이며 특정 값이 많을 경우 그에 해당하는 출력값을 출력시키면 된다. 전 문제와 비슷하게 귀엽다(1) = cute, 귀엽지 않다(0) = not_cute 모두 0으로 설정한 후, for 문을 돌려 1이면 cute에 +=1 , 0이면 not_cute에 +=1 한 후, 조건문을 걸면 된다. ✅ 코드 person = int(input()) cute =..
10102번: 개표 입력은 총 두 줄로 이루어져 있다. 첫째 줄에는 심사위원의 수 V (1 ≤ V ≤ 15)가 주어지고, 둘째 줄에는 각 심사위원이 누구에게 투표했는지가 주어진다. A와 B는 각각 그 참가자를 나타낸다. www.acmicpc.net 📌 풀이 첫 줄에 심사위원의 수를 입력한다. 둘째 줄에 심사위원이 누구에게 투표했는지 보여진다. A, B 중에 더 점수를 많이 받은 사람을 출력해주면 되고 무승부면 Tie를 출력한다. 누구에게 투표했는지, A/B 중에 누가 '더 많은' 점수를 받았는지를 어떻게 구현하지? 1번) 최근에 배운 count 함수를 쓰면 된다. 문자열에서 특정 문자를 찾아주고 이를 int로 출력해준다. 즉, score 안에서 A의 수가 많은지 B의 수가 많은지를 비교해주면 된다. 2번..
5063번: TGN 첫째 줄에 테스트 케이스의 개수 N이 주어진다. 다음 N개의 줄에는 3개의 정수 r, e, c가 주어진다. r은 광고를 하지 않았을 때 수익, e는 광고를 했을 때의 수익, c는 광고 비용이다. (-106 ≤ r,e ≤ 106 www.acmicpc.net 풀이 첫 줄에 테스트 케이스 개수를 입력한다. 그 개수만큼 입력을 해야 하기 때문에 for 문에서 돌려준다. 광고를 안할 때 수익 r 광고했을 때 수익 e 광고 비용 c 를 한 줄에 입력 받아야 한다. 이 부분과 조건문 문법, 출력 문자만 잘 쓰면 원활하게 풀 수 있는 문제다. 개운하다... 코드 test_case = int(input()) for i in range(test_case) : r, e, c = map(int, input..
7567번: 그릇 그릇을 바닥에 놓았을 때 그 높이는 10cm 이다. 그런데 두 개의 그릇을 같은 방향으로 포개면 그 높이는 5cm만 증가된다. 만일 그릇이 서로 반대방향으로 쌓이면 높이는 그릇만큼, 즉 10cm 늘어난다. www.acmicpc.net 풀이 🤷🏻.oO(뭐라는거지?) '('은 그릇이 바닥에 바로 놓인 상태, ')'은 그릇이 거꾸로 놓인 상태다. 어떤 모양이든 처음 그릇을 바닥에 놓았을 때 그 높이는 10cm인데, 다음에 놓은 그릇이 처음 그릇과 같은 모양이면 5cm가 증가한다. 반면 처음 그릇과 반대의 모양이라면 10cm가 증가한다. )))) 이 그릇의 경우 처음 10cm + ))) 같은 모양으로 5+5+5 해서 총 25cm가 된다. ()() 이 그릇의 경우 처음 10cm + 다른 모양 1..
2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, www.acmicpc.net 풀이 오븐 시계랑 인공지능 오븐인가 아무튼 그 문제랑 똑같다. 시/분 개념을 24/60 으로 정하고 나머지와 몫을 조절하면 풀 수 있다. 첫째 줄에 H, M 를 주고 t에 -45를 부여한다. 그리고 t를 더했을 때 변할 H, M을 다른 변수 X, Y로 설정한다. Y의 경우, M+t를 하면 이 수가 60으로 나오면 안된다. 60일 때는 딱 0이 나와야 하고, 다른 수 일때에는 그대로 나오면 된다. 즉 (M+t)%60을 하면 60으로 나눌 때 나머지가 0이 된다. X의 경우..