백준문제/Python
-
Python. 아스키 코드(11654번)백준문제/Python 2020. 1. 16. 05:02
아스키코드...? 난 먼저 아스키 코드가 뭔지 알아야한다... 아스키 코드란? : 숫자로 문자를 표현하기 위한 표준 코드 체계이다.(컴퓨터는 숫자만 인식함) 7비트의 이진수로 이루어져 128개를 표현할 수 있다.(보통 1비트의 패리티 비트를 추가하여 사용) 아스키 코드 값을 나타내 주는 함수 ord() 아스키 코드 값을 문자로 나타내어주는 함수 chr() 이 중 ord() 함수를 사용하여 아스키 코드 값만 출력하게 한다. 너무 간단해서 행복하다..
-
Python. 단어공부(1157번)백준문제/Python 2020. 1. 5. 05:48
시간초과가 왜 일어나는거지? 난 정말 모르겠다... 완전 잘한거 같은데!!!!!ㅜㅜ 에러짜증나......!!!! 이 문제에서 중요한것은 대문자로 바꿔주는 upper() 함수와 순서대로 정렬해주는 sort() 함수 그리고 딕셔너리를 이용하여 keys값과 values값을 이용한 것이다. set() 함수를 사용하여 집합으로 중복된 수는 없애주어 리스트에 입력하였다. keys 값과 values 값을 넣고 가장 많이 나온 문자를 출력하기 위해서 values 값과 keys 값을 바꿔주었다. 너무나 잘되는데.... 자꾸 시간초과가 나온다.... 아마도 keys 값과 values 값을 바꾸는 과정에서 그런것 같다. sort() 와 딕셔너리가 백준에선 시간이 많이 걸린다고 한다.... 난 최선을 다했다.........ㅠ
-
Python. 더하기 사이클(1110번)백준문제/Python 2020. 1. 2. 03:15
어려웠다.. 나는 바보인가보다 이 문제에서 중요한 것은 두자리 수를 한자리씩 더하는 것과 이것을 무한루프를 통해 처음 값이 나왔을때 break를 주는 것이다. (무한루프땜에 너무 힘들었다..) 우선 두자리 수를 한자리로 바꾸는 것에서 / 와 % 연산자를 사용하였다. (이때 / 는 꼭 정수형 int()형으로 받아야 한다. 아니면 소수자리가 나온다.) 십의 자리 수는 / 연산자, 일의 자리 수는 % 연산자를 사용하였다. 무한루프를 멈추기 위해선 맨 마지막에 if 문을 사용하여 break를 해주었다. (계산 값이 정확하지 않으면 계속 무한루프에 갇히게 된다..) / , % 연산자와 무한루프 사용법을 익힐 수 있었다.(어려워..ㅜ)
-
Python. 크로아티아 알파벳(2941번)백준문제/Python 2019. 12. 26. 20:34
이건 내가 푼게 아니다.. 정말 너무너무 어려웠다.. 이 문제에서 중요한 것은 크로아티아 알파벳이 길이는 2이지만 출력을 1로 해야하는 것이다. (어려웠다,,나는 너무 많이) 우선 크로아티아 알파벳을 리스트로 만들어놓았다. 그리고 str 형식으로 문자를 입력 받았다. 크로아티아 알파벳의 길이를 세기 위해 replace(word,change w)함수를 사용하여 크로아티아 알파벳을 word로 두고 크로아티아 알파벳의 출력을 1로 하기 위해서 a라는 임의의 문자로 바꾸어주었다. 입력받은 문자열의 길이 len()함수를 사용하여 출력하면 된다. 여기서 i의 역할이 가장 중요하다! (i의 역할을 이해하는것이 중요)
-
Python. OX퀴즈(8958번)백준문제/Python 2019. 12. 23. 00:44
진짜...나는 왜 이렇게 어렵게 생각하는거지... (거의 4시간 이상 쏟아부웠다..) 문제 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다. "OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다. OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오. 이 문제에서 중요한것은 O가 연속될 때 점수, 입력이 다 끝난뒤 점수가 나오는 것 이다. (이게 너무 어려웠다. 나한테는...split("x")하고 진짜 ...) 간단히 생각하면 된다. 나는 hap() ,a() 변수를 사용하여 "O"가 ..