π Python/solve-algorithm (9) μΈλ€μΌν 리μ€νΈν νλ‘κ·Έλλ¨Έμ€ ν΄μ [μμ£Όνμ§ λͺ»ν μ μ] : νμ΄μ¬ μ΄μ μ¬μ¬ λ°±μ€ νμΆνκ³ νλ‘κ·Έλλ¨Έμ€λ₯Ό κ²Έν λκ° μλ€. μλλ λ°±μ€ κ³¨λ5 μ°μΌλ©΄ λμ΄κ° κ³νμ΄μμΌλ 1. μμ¦ 1μΌ1컀λ°λ μμ λ§νΌ λͺ»νκ³ μμ΄μ μ§λκ° μ μ λκ³ 2. λ΄κ° μ§μνλ κΈ°μ μ μ½ν λ₯Ό νλ‘κ·Έλλ¨Έμ€λ₯Ό νμ©νμ¬ μμν μ μμ΄μ μ μνκ³ μ λ³λ ¬μ μΌλ‘ μ§ννκΈ°λ‘ νλ€. (μ¬μ€ νλ‘κ·Έλλ¨Έμ€ ν¬λΉμ(?)κ° μμλ€.. 극볡ν΄λ³΄μκ³ !) π Problem https://school.programmers.co.kr/learn/courses/30/lessons/42576 νλ‘κ·Έλλ¨Έμ€ μ½λ μ€μ¬μ κ°λ°μ μ±μ©. μ€ν κΈ°λ°μ ν¬μ§μ 맀μΉ. νλ‘κ·Έλλ¨Έμ€μ κ°λ°μ λ§μΆ€ν νλ‘νμ λ±λ‘νκ³ , λμ κΈ°μ κΆν©μ΄ μ λ§λ κΈ°μ λ€μ λ§€μΉ λ°μΌμΈμ. programmers.co.kr π Solution μκ³ λ¦¬μ¦ λ¬Έμ λ₯Ό.. λ°±μ€ 3460 [μ΄μ§μ] : 4κ°μ§ νμ΄ λ°©λ²κ³Ό μ΄μ§μ ꡬνλ ν¨μ ꡬννκΈ° π Problem https://www.acmicpc.net/problem/3460 3460λ²: μ΄μ§μ μμ μ μ nμ΄ μ£Όμ΄μ‘μ λ, μ΄λ₯Ό μ΄μ§μλ‘ λνλμ λ 1μ μμΉλ₯Ό λͺ¨λ μ°Ύλ νλ‘κ·Έλ¨μ μμ±νμμ€. μ΅νμ λΉνΈ(least significant bit, lsb)μ μμΉλ 0μ΄λ€. www.acmicpc.net π Solution μκ³ λ¦¬μ¦ λ¬Έμ νμ΄μμ κ°μΈμ μΌλ‘ κ°μ₯ μ€μνκ² μκ°νλ κ²μ λ€μν λ°©λ²μΌλ‘ μ κ·Όνλ κ²μ΄λ€. ν λ¬Έμ λ₯Ό νλλΌλ, 1κ°μ§ λ°©μμΌλ‘ νμ΄νλ€κ³ λλλ κ²μ΄ μλλΌ μ¬λ¬ λ²μ μλμ κ³ λ―Όμ ν΅ν΄ μ±μ₯ν μ μλ€. πͺ 1οΈβ£ case 1 κ°μ₯ λ¨Όμ νμ΄ν λ°©λ²μΌλ‘ νμ΄μ¬μ λ΄μ₯ν¨μ binμ νμ©νμλ€. bin ν¨μλ₯Ό μ¬μ©νλ©΄ μμ '0b'λΌλ λ¬Έμκ° ν¬ν¨λ string νμ.. λ°±μ€ 1065 [νμ] : νμ΄μ¬ (λΈλ£¨νΈν¬μ€ μκ³ λ¦¬μ¦(Brute-force search)) π Problem https://www.acmicpc.net/problem/1065 1065λ²: νμ μ΄λ€ μμ μ μ Xμ κ° μλ¦¬κ° λ±μ°¨μμ΄μ μ΄λ£¬λ€λ©΄, κ·Έ μλ₯Ό νμλΌκ³ νλ€. λ±μ°¨μμ΄μ μ°μλ λ κ°μ μμ μ°¨μ΄κ° μΌμ ν μμ΄μ λ§νλ€. Nμ΄ μ£Όμ΄μ‘μ λ, 1λ³΄λ€ ν¬κ±°λ κ°κ³ , Nλ³΄λ€ μκ±°λ www.acmicpc.net π Submission Code λ κ°μ§ λ°©λ²μΌλ‘ νμ΄λ₯Ό ν΄λ³΄μλλ°, κ²°λ‘ μ μΌλ‘λ λ©λͺ¨λ¦¬λ 30864KBλ‘ λμΌνμκ³ μκ°μ 68ms λλ 72msλ‘ λΉμ·νμλ€. 1 ) μ 체 - νμκ° μλ μ λΉΌκΈ° ν μ리 μμΈ 1~9λ μμ΄μ κΈΈμ΄κ° 1μΈ λ±μ°¨μμ΄λ‘, λ μ리 μμΈ 10~99λ κΈΈμ΄κ° 2μΈ λ±μ°¨μμ΄λ‘ λ³Έλ€. μ΄ν΄κ° μ κ°μ§ μλλ€λ©΄ μ¬κΈ°λ₯Ό ν΄λ¦ν΄μ μ°Έκ³ νλ©΄ μ’μ κ² κ°λ€. λ°λΌ.. μ ν΄λ¦¬λ νΈμ λ²κ³Ό μ¬κ·ν¨μ : λ°±μ€ 2609[μ΅λ곡μ½μμ μ΅μ곡배μ] & νμ΄μ¬ μ€λ μ¬κ· ν¨μλ₯Ό 곡λΆνλ©΄μ μ μ νμλ λ°±μ€ λ¬Έμ κ° μκ°μ΄ λμ κ°μ΄ μ 리ν΄λ³΄κ³ μ κ°μ§κ³ μλ€. π μ¬κ·ν¨μ(Recursion Function) μ½κ² λ§νλ©΄, μκΈ° μμ μ νΈμΆνλ ν¨μ. μμΈν μ€λͺ μ μ¬κ·ν¨μ μν€νΌλμ μ°Έκ³ μνμ κ·λ©λ²κ³Ό λΉμ·ν¨ μ€μ²΄νμ§ μλ κ°λ μ μνμ λͺ¨λΈλ‘ λ§λ€κ³ , κ·Έ μνμ λͺ¨λΈμ νλμ© μ°¨κ°μμΌκ°λ©΄μ νΈμΆνλ κ²λ§μΌλ‘λ λ¬Έμ κ° ν΄κ²°λκ² νλ κ² 1 ) μ¬κ·ν¨μμ νμ© μ¬κ·μ μΌλ‘ λ¬Έμ λ₯Ό νΌλ€λ κ² : κ°μ ννμ λ μμ λ¬Έμ λ₯Ό νκ³ , λΆλΆ λ¬Έμ μ λ΅μ μ΄μ©ν΄μ κΈ°μ‘΄ λ¬Έμ λ₯Ό νΈλ κ²! μ¬κ·μ μΌλ‘ νκΈ° μν΄μλ νμ μλμ κ°μ΄ λ caseλ₯Ό λλμ΄μ μκ°ν΄μΌνλ€. Base case: μ΄λ―Έ λ¬Έμ κ° μΆ©λΆν μμμ, λ μμ λΆλΆ λ¬Έμ λ‘ λλμ§ μκ³ λ λ°λ‘ λ΅μ μ μ μλ κ²½.. λΈλ£¨νΈν¬μ€(Brute-force search) : λ°±μ€ 14719 [λΉλ¬Ό] & νμ΄μ¬ λΈλ£¨νΈν¬μ€ μκ³ λ¦¬μ¦μ 곡λΆνλ©΄μ, λ°±μ€ λ¬Έμ μλ μ μ©μ ν΄λ³΄μμ΅λλ€! π λ°λ³΅ μλ¬μ ν΅ν΄ λμ± μ΅μν΄μ§μ! π μ°Έκ³ λ‘ ν΄λΉ λ¬Έμ λ leet_codeμμλ μ°Ύμ μ μμμ΅λλ€. ν΄λΉ λ¬Έμ λ μ λ°μ΄νΈν΄λ³΄κ² μ΅λλ€. μ£Όμλ μ μΌ μλ referenceμ μΆκ°νκ² μ΅λλ€. π Brute-force search κ·Έλλ‘ ν΄μνλ©΄ "λ¬΄μ°¨λ³ λμ κ²μ" μλ―Έ κ·Έλλ‘, 무차λ³μ μΌλ‘ κ°λ₯ν λͺ¨λ κ²½μ°μ μλ₯Ό μλν΄ λ³΄λ μκ³ λ¦¬μ¦ κ°μ₯ μμ§ν μκ³ λ¦¬μ¦ μ κ·Όλ² μλ₯Ό λ€μ΄, λΉλ°λ²νΈ 4μ리 μλ¬Όμ κ° μλ€κ³ νλ©΄, 0000λΆν° 9999κΉμ§ μ 체λ₯Ό λ€ νμΈνλ κ²! μ΄λ―Έμ§λ μ¬κΈ°μμ κ°μ§κ³ μμ΅λλ€. π μ₯μ μ§κ΄μ μ΄κ³ λͺ ννλ€ λ΅μ νμ€νκ² μ°Ύμ μ μλ€ π΅π« λ¨μ λͺ¨λ κ²½μ°λ₯Ό 보기 λλ¬Έμ λΉν¨μ¨μ μ β‘οΈ μΈνμ΄ μ»€μ§μλ‘ λΉν¨μ¨.. λ°±μ€ 1929[μμ ꡬνκΈ°] : νμ΄μ¬ & μκ°μ΄κ³Ό ν΄κ²°λ°©λ² & μμ νμ , μλΌν μ€ν λ€μ€μ 체 π Problem https://www.acmicpc.net/problem/1929 1929λ²: μμ ꡬνκΈ° 첫째 μ€μ μμ°μ Mκ³Ό Nμ΄ λΉ μΉΈμ μ¬μ΄μ λκ³ μ£Όμ΄μ§λ€. (1 ≤ M ≤ N ≤ 1,000,000) Mμ΄μ Nμ΄νμ μμκ° νλ μ΄μ μλ μ λ ₯λ§ μ£Όμ΄μ§λ€. www.acmicpc.net π Submission Code μκ³ λ¦¬μ¦ λ¬Έμ λ₯Ό ν λ, 1κ°μ§ λ°©μμΌλ‘λ§ μ κ·Όν기보λ€λ λ€μν λ°©λ²μΌλ‘ μ κ·Όνλ μ΅κ΄μ κ°μ§μππ» # case 1 '''μλΌν μ€ν λ€μ€μ 체 νμ©νκΈ° : μκ°μ μ€μ΄κΈ° μν΄μ 루νΈν λΆλΆκΉμ§λ§ for λ°λ³΅λ¬Έ''' import sys M, N = map(int, sys.stdin.readline().split()) prime_num = [] for i in range(M, N+1.. λ°±μ€ 2108 [ν΅κ³ν] : νμ΄μ¬ & ꡬν ,μ λ ¬ (with for λ°λ³΅λ¬Έ & Counter & statistics) 3κ°μ§ λ°©λ²μΌλ‘ νμ΄λ³΄κΈ° π λ¬Έμ https://www.acmicpc.net/problem/2108 2108λ²: ν΅κ³ν 첫째 μ€μ μμ κ°μ N(1 ≤ N ≤ 500,000)μ΄ μ£Όμ΄μ§λ€. λ¨, Nμ νμμ΄λ€. κ·Έ λ€μ Nκ°μ μ€μλ μ μλ€μ΄ μ£Όμ΄μ§λ€. μ λ ₯λλ μ μμ μ λκ°μ 4,000μ λμ§ μλλ€. www.acmicpc.net π νμ΄ μ΄ μΈκ°μ§ λ°©λ²μΌλ‘ νμ΄λ³΄μμ΅λλ€. κ°μΈμ μΌλ‘λ Counter λͺ¨λλ‘ νΈλ λ°©λ²μ΄ κ°μ₯ κΉλνκ³ λ§μμ λ€μμ΅λλ€π₯ μ°μ νκ· , μ€μκ°, λ²μλ μλμ κ°μ΄ λ¬Έμ μ κ·Έλλ‘ λμμμ΄μ λΆκ°μ μΈ μ€λͺ μ νμ§μκ² μ΅λλ€:) νΉμλ κΆκΈνμλ©΄ λκΈμ£Όμλ©΄ μ€λͺ λλ¦¬κ² μ΅λλ€. μ°μ νκ· : Nκ°μ μλ€μ ν©μ NμΌλ‘ λλ κ° μ€μκ° : Nκ°μ μλ€μ μ¦κ°νλ μμλ‘ λμ΄νμ κ²½μ° κ·Έ μ€μμ μμΉνλ κ° μ΅λΉκ° .. λ°±μ€ 1755 [μ«μλμ΄] : νμ΄μ¬ & λ¬Έμμ΄ μ λ ¬ (with maketrans & translate, join) π λ¬Έμ https://www.acmicpc.net/problem/1755 1755λ²: μ«μλμ΄ 79λ₯Ό μμ΄λ‘ μ½λ μ«μ λ¨μλ‘ νλμ© μ½λλ€λ©΄ "seven nine"μ΄ λλ€. 80μ λ§μ°¬κ°μ§λ‘ "eight zero"λΌκ³ μ½λλ€. 79λ 80λ³΄λ€ μμ§λ§, μμ΄λ‘ μ«μ νλμ© μ½λλ€λ©΄ "eight zero"κ° "seven nine"λ³΄λ€ μ¬μ μμΌλ‘ www.acmicpc.net π νμ΄ 1. 첫λ²μ§Έ μλ μΌλ¨ νμ΄λ³Έ λ°©λ² ! [μ 체 μ½λ] '''μ΅μ’ μ μΆ μ½λ''' M , N = map(int, input().split()) num_list = [str(i) for i in range(M, N + 1)] def convert_to_str(txt): dictionary = {'0':'zero', '1':'one.. μ΄μ 1 2 λ€μ